From dac736c59002353bff599d246c47c7fdf1313a87 Mon Sep 17 00:00:00 2001 From: Steph Milovic Date: Wed, 13 Sep 2023 14:48:45 -0600 Subject: [PATCH 001/149] [Security solution] A/B Testing for Guided Onboarding content (#163739) --- .../cloud_experiments/common/constants.ts | 6 + .../siem_guide_config.test.ts | 230 ++++++++++++++++++ .../guided_onboarding/siem_guide_config.ts | 128 +++++----- .../common/guided_onboarding/translations.ts | 92 +++++++ .../security_solution/server/plugin.ts | 38 ++- 5 files changed, 422 insertions(+), 72 deletions(-) create mode 100644 x-pack/plugins/security_solution/common/guided_onboarding/siem_guide_config.test.ts create mode 100644 x-pack/plugins/security_solution/common/guided_onboarding/translations.ts diff --git a/x-pack/plugins/cloud_integrations/cloud_experiments/common/constants.ts b/x-pack/plugins/cloud_integrations/cloud_experiments/common/constants.ts index 0cbfeb509e8b3..6eb9e01f333b0 100644 --- a/x-pack/plugins/cloud_integrations/cloud_experiments/common/constants.ts +++ b/x-pack/plugins/cloud_integrations/cloud_experiments/common/constants.ts @@ -21,6 +21,12 @@ export enum FEATURE_FLAG_NAMES { * It resolves the URL that the button "Add Integrations" will point to. */ 'security-solutions.add-integrations-url' = 'security-solutions.add-integrations-url', + /** + * Used in the Security Solutions guided onboarding tour. + * Returns JSON corresponding to the tour guide config as + * defined by type { GuideConfig } from '@kbn/guided-onboarding'; + */ + 'security-solutions.guided-onboarding-content' = 'security-solutions.guided-onboarding-content', } /** diff --git a/x-pack/plugins/security_solution/common/guided_onboarding/siem_guide_config.test.ts b/x-pack/plugins/security_solution/common/guided_onboarding/siem_guide_config.test.ts new file mode 100644 index 0000000000000..5000244c994a5 --- /dev/null +++ b/x-pack/plugins/security_solution/common/guided_onboarding/siem_guide_config.test.ts @@ -0,0 +1,230 @@ +/* + * 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 { defaultGuideTranslations, getSiemGuideConfig, siemGuideId } from './siem_guide_config'; +import * as i18n from './translations'; + +describe('getSiemGuideConfig', () => { + it('returns a GuideConfig object with default values when no arguments are passed', () => { + const result = getSiemGuideConfig(); + expect(result).toEqual({ + title: defaultGuideTranslations.title, + guideName: 'Security', + telemetryId: siemGuideId, + completedGuideRedirectLocation: { + appID: 'securitySolutionUI', + path: '/dashboards', + }, + description: defaultGuideTranslations.description, + docs: { + text: defaultGuideTranslations.docs, + url: 'https://www.elastic.co/guide/en/security/current/ingest-data.html', + }, + steps: [ + { + id: 'add_data', + title: defaultGuideTranslations.steps.add_data.title, + description: { + descriptionText: defaultGuideTranslations.steps.add_data.description, + linkUrl: 'https://docs.elastic.co/en/integrations/endpoint', + isLinkExternal: true, + linkText: i18n.LINK_TEXT, + }, + integration: 'endpoint', + location: { + appID: 'integrations', + path: '/browse/security', + }, + }, + { + id: 'rules', + title: defaultGuideTranslations.steps.rules.title, + description: defaultGuideTranslations.steps.rules.description, + location: { + appID: 'securitySolutionUI', + path: '/rules', + }, + manualCompletion: defaultGuideTranslations.steps.rules.manualCompletion, + }, + { + id: 'alertsCases', + title: defaultGuideTranslations.steps.alertsCases.title, + description: defaultGuideTranslations.steps.alertsCases.description, + location: { + appID: 'securitySolutionUI', + path: '/alerts', + }, + manualCompletion: defaultGuideTranslations.steps.alertsCases.manualCompletion, + }, + ], + }); + }); + + it('returns a GuideConfig object with values from the launchDarkly argument when it is passed', () => { + const launchDarkly = { + title: 'Custom Title', + description: 'Custom Description', + docs: 'Custom Docs', + steps: { + add_data: { + title: 'Custom Add Data Title', + description: 'Custom Add Data Description', + }, + rules: { + title: 'Custom Rules Title', + description: 'Custom Rules Description', + manualCompletion: { + title: 'Custom Rules Manual Title', + description: 'Custom Rules Manual Description', + }, + }, + alertsCases: { + title: 'Custom Alerts Cases Title', + description: 'Custom Alerts Cases Description', + manualCompletion: { + title: 'Custom Alerts Cases Manual Title', + description: 'Custom Alerts Cases Manual Description', + }, + }, + }, + }; + const result = getSiemGuideConfig(launchDarkly); + expect(result).toEqual({ + title: launchDarkly.title, + guideName: 'Security', + telemetryId: siemGuideId, + completedGuideRedirectLocation: { + appID: 'securitySolutionUI', + path: '/dashboards', + }, + description: launchDarkly.description, + docs: { + text: launchDarkly.docs, + url: 'https://www.elastic.co/guide/en/security/current/ingest-data.html', + }, + steps: [ + { + id: 'add_data', + title: launchDarkly.steps.add_data.title, + description: { + descriptionText: launchDarkly.steps.add_data.description, + linkUrl: 'https://docs.elastic.co/en/integrations/endpoint', + isLinkExternal: true, + linkText: i18n.LINK_TEXT, + }, + integration: 'endpoint', + location: { + appID: 'integrations', + path: '/browse/security', + }, + }, + { + id: 'rules', + title: launchDarkly.steps.rules.title, + description: launchDarkly.steps.rules.description, + manualCompletion: { + title: launchDarkly.steps.rules.manualCompletion.title, + description: launchDarkly.steps.rules.manualCompletion.description, + }, + location: { + appID: 'securitySolutionUI', + path: '/rules', + }, + }, + { + id: 'alertsCases', + title: launchDarkly.steps.alertsCases.title, + description: launchDarkly.steps.alertsCases.description, + manualCompletion: { + title: launchDarkly.steps.alertsCases.manualCompletion.title, + description: launchDarkly.steps.alertsCases.manualCompletion.description, + }, + location: { + appID: 'securitySolutionUI', + path: '/alerts', + }, + }, + ], + }); + }); + + it('returns a GuideConfig object with values from the launchDarkly argument and default values when some properties are missing', () => { + const launchDarkly = { + steps: { + add_data: { + title: 'Custom Add Data Title', + }, + rules: { + description: 'Custom Rules Description', + }, + alertsCases: { + manualCompletion: { + title: 'Custom Alerts Cases Manual Title', + }, + }, + }, + }; + // Ignore because intentionally passing an incomplete object to test that we handle missing properties + // since there is no validation on the object from LaunchDarkly + // @ts-ignore + const result = getSiemGuideConfig(launchDarkly); + expect(result).toEqual({ + title: defaultGuideTranslations.title, + guideName: 'Security', + telemetryId: siemGuideId, + completedGuideRedirectLocation: { + appID: 'securitySolutionUI', + path: '/dashboards', + }, + description: defaultGuideTranslations.description, + docs: { + text: defaultGuideTranslations.docs, + url: 'https://www.elastic.co/guide/en/security/current/ingest-data.html', + }, + steps: [ + { + id: 'add_data', + title: launchDarkly.steps.add_data.title, + description: { + descriptionText: defaultGuideTranslations.steps.add_data.description, + linkUrl: 'https://docs.elastic.co/en/integrations/endpoint', + isLinkExternal: true, + linkText: i18n.LINK_TEXT, + }, + integration: 'endpoint', + location: { + appID: 'integrations', + path: '/browse/security', + }, + }, + { + id: 'rules', + title: defaultGuideTranslations.steps.rules.title, + description: launchDarkly.steps.rules.description, + location: { + appID: 'securitySolutionUI', + path: '/rules', + }, + manualCompletion: defaultGuideTranslations.steps.rules.manualCompletion, + }, + { + id: 'alertsCases', + title: defaultGuideTranslations.steps.alertsCases.title, + description: defaultGuideTranslations.steps.alertsCases.description, + manualCompletion: { + title: launchDarkly.steps.alertsCases.manualCompletion.title, + description: defaultGuideTranslations.steps.alertsCases.manualCompletion.description, + }, + location: { + appID: 'securitySolutionUI', + path: '/alerts', + }, + }, + ], + }); + }); +}); diff --git a/x-pack/plugins/security_solution/common/guided_onboarding/siem_guide_config.ts b/x-pack/plugins/security_solution/common/guided_onboarding/siem_guide_config.ts index 707595d0bd8f8..f260c94262513 100644 --- a/x-pack/plugins/security_solution/common/guided_onboarding/siem_guide_config.ts +++ b/x-pack/plugins/security_solution/common/guided_onboarding/siem_guide_config.ts @@ -6,50 +6,63 @@ */ import type { GuideConfig } from '@kbn/guided-onboarding'; -import { i18n } from '@kbn/i18n'; +import * as i18n from './translations'; export const siemGuideId = 'siem'; -export const siemGuideConfig: GuideConfig = { - title: i18n.translate('xpack.securitySolution.guideConfig.title', { - defaultMessage: 'Detect threats in my data with SIEM', - }), + +export const defaultGuideTranslations = { + title: i18n.TITLE, + description: i18n.DESCRIPTION, + docs: i18n.DOCS, + steps: { + add_data: { + title: i18n.ADD_DATA_TITLE, + description: i18n.ADD_DATA_DESCRIPTION, + }, + rules: { + title: i18n.RULES_TITLE, + description: i18n.RULES_DESCRIPTION, + manualCompletion: { + title: i18n.RULES_MANUAL_TITLE, + description: i18n.RULES_MANUAL_DESCRIPTION, + }, + }, + alertsCases: { + title: i18n.CASES_TITLE, + description: i18n.CASES_DESCRIPTION, + manualCompletion: { + title: i18n.CASES_MANUAL_TITLE, + description: i18n.CASES_MANUAL_DESCRIPTION, + }, + }, + }, +}; + +export const getSiemGuideConfig = (launchDarkly = defaultGuideTranslations): GuideConfig => ({ + // check each launchDarkly property in case data is misformatted + title: launchDarkly.title ?? defaultGuideTranslations.title, guideName: 'Security', - telemetryId: 'siem', + telemetryId: siemGuideId, completedGuideRedirectLocation: { appID: 'securitySolutionUI', path: '/dashboards', }, - description: i18n.translate('xpack.securitySolution.guideConfig.description', { - defaultMessage: `There are many ways to get your SIEM data into Elastic. In this guide, we'll help you get set up quickly using the Elastic Defend integration.`, - }), + description: launchDarkly.description ?? defaultGuideTranslations.description, docs: { - text: i18n.translate('xpack.securitySolution.guideConfig.documentationLink', { - defaultMessage: 'Learn more', - }), + text: launchDarkly.docs ?? defaultGuideTranslations.docs, url: 'https://www.elastic.co/guide/en/security/current/ingest-data.html', }, steps: [ { id: 'add_data', - title: i18n.translate('xpack.securitySolution.guideConfig.addDataStep.title', { - defaultMessage: 'Add data with Elastic Defend', - }), + title: launchDarkly.steps?.add_data?.title ?? defaultGuideTranslations.steps.add_data.title, description: { - descriptionText: i18n.translate( - 'xpack.securitySolution.guideConfig.addDataStep.description', - { - defaultMessage: - 'Install Elastic Agent and its Elastic Defend integration on one of your computers to get SIEM data flowing.', - } - ), + descriptionText: + launchDarkly.steps?.add_data?.description ?? + defaultGuideTranslations.steps.add_data.description, linkUrl: 'https://docs.elastic.co/en/integrations/endpoint', isLinkExternal: true, - linkText: i18n.translate( - 'xpack.securitySolution.guideConfig.addDataStep.description.linkText', - { - defaultMessage: 'Learn more', - } - ), + linkText: i18n.LINK_TEXT, }, integration: 'endpoint', location: { @@ -59,26 +72,16 @@ export const siemGuideConfig: GuideConfig = { }, { id: 'rules', - title: i18n.translate('xpack.securitySolution.guideConfig.rulesStep.title', { - defaultMessage: 'Turn on rules', - }), - description: i18n.translate('xpack.securitySolution.guideConfig.rulesStep.description', { - defaultMessage: - 'Load the Elastic prebuilt rules, select the rules you want, and enable them to generate alerts.', - }), + title: launchDarkly.steps?.rules?.title ?? defaultGuideTranslations.steps.rules.title, + description: + launchDarkly.steps?.rules?.description ?? defaultGuideTranslations.steps.rules.description, manualCompletion: { - title: i18n.translate( - 'xpack.securitySolution.guideConfig.rulesStep.manualCompletion.title', - { - defaultMessage: 'Continue with the guide', - } - ), - description: i18n.translate( - 'xpack.securitySolution.guideConfig.rulesStep.manualCompletion.description', - { - defaultMessage: `After you've enabled the rules you need, continue.`, - } - ), + title: + launchDarkly.steps?.rules?.manualCompletion?.title ?? + defaultGuideTranslations.steps.rules.manualCompletion.title, + description: + launchDarkly.steps?.rules?.manualCompletion?.description ?? + defaultGuideTranslations.steps.rules.manualCompletion.description, }, location: { appID: 'securitySolutionUI', @@ -87,30 +90,23 @@ export const siemGuideConfig: GuideConfig = { }, { id: 'alertsCases', - title: i18n.translate('xpack.securitySolution.guideConfig.alertsStep.title', { - defaultMessage: 'Manage alerts and cases', - }), - description: i18n.translate('xpack.securitySolution.guideConfig.alertsStep.description', { - defaultMessage: 'Learn how to view and triage alerts with cases.', - }), + title: + launchDarkly.steps?.alertsCases?.title ?? defaultGuideTranslations.steps.alertsCases.title, + description: + launchDarkly.steps?.alertsCases?.description ?? + defaultGuideTranslations.steps.alertsCases.description, location: { appID: 'securitySolutionUI', path: '/alerts', }, manualCompletion: { - title: i18n.translate( - 'xpack.securitySolution.guideConfig.alertsStep.manualCompletion.title', - { - defaultMessage: 'Continue the guide', - } - ), - description: i18n.translate( - 'xpack.securitySolution.guideConfig.alertsStep.manualCompletion.description', - { - defaultMessage: `After you've explored the case, continue.`, - } - ), + title: + launchDarkly.steps?.alertsCases?.manualCompletion?.title ?? + defaultGuideTranslations.steps.alertsCases.manualCompletion.title, + description: + launchDarkly.steps?.alertsCases?.manualCompletion?.description ?? + defaultGuideTranslations.steps.alertsCases.manualCompletion.description, }, }, ], -}; +}); diff --git a/x-pack/plugins/security_solution/common/guided_onboarding/translations.ts b/x-pack/plugins/security_solution/common/guided_onboarding/translations.ts new file mode 100644 index 0000000000000..9d96333796a34 --- /dev/null +++ b/x-pack/plugins/security_solution/common/guided_onboarding/translations.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 { i18n } from '@kbn/i18n'; + +export const TITLE = i18n.translate('xpack.securitySolution.guideConfig.title', { + defaultMessage: 'Detect threats in my data with SIEM', +}); + +export const DESCRIPTION = i18n.translate('xpack.securitySolution.guideConfig.description', { + defaultMessage: `There are many ways to get your SIEM data into Elastic. In this guide, we'll help you get set up quickly using the Elastic Defend integration.`, +}); + +export const DOCS = i18n.translate('xpack.securitySolution.guideConfig.documentationLink', { + defaultMessage: 'Learn more', +}); + +export const LINK_TEXT = i18n.translate( + 'xpack.securitySolution.guideConfig.addDataStep.description.linkText', + { + defaultMessage: 'Learn more', + } +); + +export const ADD_DATA_TITLE = i18n.translate( + 'xpack.securitySolution.guideConfig.addDataStep.title', + { + defaultMessage: 'Add data with Elastic Defend', + } +); + +export const ADD_DATA_DESCRIPTION = i18n.translate( + 'xpack.securitySolution.guideConfig.addDataStep.description', + { + defaultMessage: + 'Install Elastic Agent and its Elastic Defend integration on one of your computers to get SIEM data flowing.', + } +); + +export const RULES_TITLE = i18n.translate('xpack.securitySolution.guideConfig.rulesStep.title', { + defaultMessage: 'Turn on rules', +}); + +export const RULES_DESCRIPTION = i18n.translate( + 'xpack.securitySolution.guideConfig.rulesStep.description', + { + defaultMessage: + 'Load the Elastic prebuilt rules, select the rules you want, and enable them to generate alerts.', + } +); + +export const RULES_MANUAL_TITLE = i18n.translate( + 'xpack.securitySolution.guideConfig.rulesStep.manualCompletion.title', + { + defaultMessage: 'Continue with the guide', + } +); + +export const RULES_MANUAL_DESCRIPTION = i18n.translate( + 'xpack.securitySolution.guideConfig.rulesStep.manualCompletion.description', + { + defaultMessage: `After you've enabled the rules you need, continue.`, + } +); + +export const CASES_TITLE = i18n.translate('xpack.securitySolution.guideConfig.alertsStep.title', { + defaultMessage: 'Manage alerts and cases', +}); +export const CASES_DESCRIPTION = i18n.translate( + 'xpack.securitySolution.guideConfig.alertsStep.description', + { + defaultMessage: 'Learn how to view and triage alerts with cases.', + } +); + +export const CASES_MANUAL_TITLE = i18n.translate( + 'xpack.securitySolution.guideConfig.alertsStep.manualCompletion.title', + { + defaultMessage: 'Continue the guide', + } +); + +export const CASES_MANUAL_DESCRIPTION = i18n.translate( + 'xpack.securitySolution.guideConfig.alertsStep.manualCompletion.description', + { + defaultMessage: `After you've explored the case, continue.`, + } +); diff --git a/x-pack/plugins/security_solution/server/plugin.ts b/x-pack/plugins/security_solution/server/plugin.ts index 778ff52c2d692..2998854f484e4 100644 --- a/x-pack/plugins/security_solution/server/plugin.ts +++ b/x-pack/plugins/security_solution/server/plugin.ts @@ -17,11 +17,16 @@ import { Dataset } from '@kbn/rule-registry-plugin/server'; import type { ListPluginSetup } from '@kbn/lists-plugin/server'; import type { ILicense } from '@kbn/licensing-plugin/server'; +import { i18n } from '@kbn/i18n'; import { endpointPackagePoliciesStatsSearchStrategyProvider } from './search_strategy/endpoint_package_policies_stats'; import { turnOffPolicyProtectionsIfNotSupported } from './endpoint/migrations/turn_off_policy_protections'; import { endpointSearchStrategyProvider } from './search_strategy/endpoint'; import { getScheduleNotificationResponseActionsService } from './lib/detection_engine/rule_response_actions/schedule_notification_response_actions'; -import { siemGuideConfig, siemGuideId } from '../common/guided_onboarding/siem_guide_config'; +import { + siemGuideId, + getSiemGuideConfig, + defaultGuideTranslations, +} from '../common/guided_onboarding/siem_guide_config'; import { createEqlAlertType, createIndicatorMatchAlertType, @@ -389,6 +394,32 @@ export class Plugin implements ISecuritySolutionPlugin { ); plugins.data.search.registerSearchStrategy(ENDPOINT_SEARCH_STRATEGY, endpointSearchStrategy); + + /** + * Register a config for the security guide + */ + if (depsStart.cloudExperiments && i18n.getLocale() === 'en') { + try { + depsStart.cloudExperiments + .getVariation('security-solutions.guided-onboarding-content', defaultGuideTranslations) + .then((variation) => { + plugins.guidedOnboarding.registerGuideConfig( + siemGuideId, + getSiemGuideConfig(variation) + ); + }); + } catch { + plugins.guidedOnboarding.registerGuideConfig( + siemGuideId, + getSiemGuideConfig(defaultGuideTranslations) + ); + } + } else { + plugins.guidedOnboarding.registerGuideConfig( + siemGuideId, + getSiemGuideConfig(defaultGuideTranslations) + ); + } }); setIsElasticCloudDeployment(plugins.cloud.isCloudEnabled ?? false); @@ -409,11 +440,6 @@ export class Plugin implements ISecuritySolutionPlugin { featureUsageService.setup(plugins.licensing); - /** - * Register a config for the security guide - */ - plugins.guidedOnboarding.registerGuideConfig(siemGuideId, siemGuideConfig); - return { setAppFeaturesConfigurator: appFeaturesService.setAppFeaturesConfigurator.bind(appFeaturesService), From 4457f6702c0c5b27ef3bbddfb59fec08fb5ba1b2 Mon Sep 17 00:00:00 2001 From: Lukas Olson Date: Wed, 13 Sep 2023 13:56:01 -0700 Subject: [PATCH 002/149] Unskip test from #164856 (#166293) ## Summary Unskips flaky tests from #164856. Flaky test runner: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3104 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/test/api_integration/apis/search/search.ts | 5 ++--- .../test_suites/common/search_xpack/search.ts | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/x-pack/test/api_integration/apis/search/search.ts b/x-pack/test/api_integration/apis/search/search.ts index a7bf10ea7dc6c..48ff19e51623d 100644 --- a/x-pack/test/api_integration/apis/search/search.ts +++ b/x-pack/test/api_integration/apis/search/search.ts @@ -455,8 +455,7 @@ export default function ({ getService }: FtrProviderContext) { .expect(404); }); - // FLAKY: https://github.com/elastic/kibana/issues/164856 - it.skip('should delete a completed search', async function () { + it('should delete a completed search', async function () { await markRequiresShardDelayAgg(this); const resp = await supertest @@ -483,7 +482,7 @@ export default function ({ getService }: FtrProviderContext) { await new Promise((resolve) => setTimeout(resolve, 3000)); - await retry.tryForTime(10000, async () => { + await retry.tryForTime(30000, async () => { const resp2 = await supertest .post(`/internal/search/ese/${id}`) .set(ELASTIC_HTTP_VERSION_HEADER, '1') diff --git a/x-pack/test_serverless/api_integration/test_suites/common/search_xpack/search.ts b/x-pack/test_serverless/api_integration/test_suites/common/search_xpack/search.ts index 1a4839cbae6fa..d820f22e72567 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/search_xpack/search.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/search_xpack/search.ts @@ -430,8 +430,7 @@ export default function ({ getService }: FtrProviderContext) { .expect(404); }); - // FLAKY: https://github.com/elastic/kibana/issues/164856 - it.skip('should delete a completed search', async function () { + it('should delete a completed search', async function () { await markRequiresShardDelayAgg(this); const resp = await supertest @@ -460,7 +459,7 @@ export default function ({ getService }: FtrProviderContext) { await new Promise((resolve) => setTimeout(resolve, 3000)); - await retry.tryForTime(10000, async () => { + await retry.tryForTime(30000, async () => { const resp2 = await supertest .post(`/internal/search/ese/${id}`) .set(ELASTIC_HTTP_VERSION_HEADER, '1') From 135f190e884cf5cb644b03698aa411eeaea2182c Mon Sep 17 00:00:00 2001 From: Kurt Date: Wed, 13 Sep 2023 17:35:20 -0400 Subject: [PATCH 003/149] upgrade tough-cookie to 4.1.3 (#163172) ## Summary Upgrade `tough-cookie` from `2.5.0/4.1.2` to `4.1.3` This also required an update of `@cypress/request` ## Change logs `tough-cookie`: https://github.com/salesforce/tough-cookie/compare/4.1.2...4.1.3 `@cypress/request`: https://github.com/cypress-io/request/compare/2.88.10...2.88.12 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- yarn.lock | 38 ++++++++++++++++---------------------- 1 file changed, 16 insertions(+), 22 deletions(-) diff --git a/yarn.lock b/yarn.lock index 14c9d60a29e6c..6a18eb4fdc43e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1375,9 +1375,9 @@ globby "^11.0.4" "@cypress/request@^2.88.10": - version "2.88.10" - resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.10.tgz#b66d76b07f860d3a4b8d7a0604d020c662752cce" - integrity sha512-Zp7F+R93N0yZyG34GutyTNr+okam7s/Fzc1+i3kcqOP8vk6OuajuE9qZJ6Rs+10/1JFtXFYMdyarnU1rZuJesg== + version "2.88.12" + resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.12.tgz#ba4911431738494a85e93fb04498cb38bc55d590" + integrity sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA== dependencies: aws-sign2 "~0.7.0" aws4 "^1.8.0" @@ -1392,9 +1392,9 @@ json-stringify-safe "~5.0.1" mime-types "~2.1.19" performance-now "^2.1.0" - qs "~6.5.2" + qs "~6.10.3" safe-buffer "^5.1.2" - tough-cookie "~2.5.0" + tough-cookie "^4.1.3" tunnel-agent "^0.6.0" uuid "^8.3.2" @@ -24913,7 +24913,7 @@ pseudomap@^1.0.2: resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= -psl@^1.1.28, psl@^1.1.33: +psl@^1.1.33: version "1.4.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.4.0.tgz#5dd26156cdb69fa1fdb8ab1991667d3f80ced7c2" integrity sha512-HZzqCGPecFLyoRj5HLfuDSKYTJkAfB5thKBIkRHtGjWwY7p1dAyveIbXIq4tO0KYfDF2tHqPUgY9SDnGm00uFw== @@ -25039,10 +25039,12 @@ qs@^6.11.0: dependencies: side-channel "^1.0.4" -qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== +qs@~6.10.3: + version "6.10.5" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.5.tgz#974715920a80ff6a262264acd2c7e6c2a53282b4" + integrity sha512-O5RlPh0VFtR78y79rgcgKK4wbAI0C5zGVLztOIdpWX6ep368q5Hv6XRxDvXuZ9q3C6v+e3n8UfZZJw7IIG27eQ== + dependencies: + side-channel "^1.0.4" query-string@^6.13.2: version "6.13.2" @@ -28966,24 +28968,16 @@ totalist@^1.0.0: resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== -tough-cookie@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== +tough-cookie@^4.1.2, tough-cookie@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" + integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== dependencies: psl "^1.1.33" punycode "^2.1.1" universalify "^0.2.0" url-parse "^1.5.3" -tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - tr46@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" From 21034c12e786a51fda63cd1d90f7814915ce2419 Mon Sep 17 00:00:00 2001 From: "Joey F. Poon" Date: Wed, 13 Sep 2023 17:49:35 -0700 Subject: [PATCH 004/149] [Security Solution] add serverless endpoint metering service tests (#164523) --- .../server/endpoint/constants/metering.ts | 4 + .../services/metering_service.test.ts | 161 ++++++++++++++++++ .../endpoint/services/metering_service.ts | 11 +- .../tsconfig.json | 3 +- 4 files changed, 171 insertions(+), 8 deletions(-) create mode 100644 x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.test.ts diff --git a/x-pack/plugins/security_solution_serverless/server/endpoint/constants/metering.ts b/x-pack/plugins/security_solution_serverless/server/endpoint/constants/metering.ts index bcb41d5d0d553..59d0e63c510e5 100644 --- a/x-pack/plugins/security_solution_serverless/server/endpoint/constants/metering.ts +++ b/x-pack/plugins/security_solution_serverless/server/endpoint/constants/metering.ts @@ -10,4 +10,8 @@ export const METERING_TASK = { TYPE: 'serverless-security:endpoint-usage-reporting-task', VERSION: '1.0.0', INTERVAL: '5m', + // 1 hour + SAMPLE_PERIOD_SECONDS: 3600, + THRESHOLD_MINUTES: 30, + USAGE_TYPE_PREFIX: 'security_solution_', }; diff --git a/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.test.ts b/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.test.ts new file mode 100644 index 0000000000000..58265076ce1c4 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.test.ts @@ -0,0 +1,161 @@ +/* + * 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 { loggingSystemMock } from '@kbn/core-logging-server-mocks'; +import { type ElasticsearchClientMock, elasticsearchServiceMock } from '@kbn/core/server/mocks'; +import type { AggregationsAggregate, SearchResponse } from '@elastic/elasticsearch/lib/api/types'; +import type { CloudSetup } from '@kbn/cloud-plugin/server'; +import type { EndpointHeartbeat } from '@kbn/security-solution-plugin/common/endpoint/types'; +import { ENDPOINT_HEARTBEAT_INDEX } from '@kbn/security-solution-plugin/common/endpoint/constants'; + +import { ProductLine, ProductTier } from '../../../common/product'; + +import type { ServerlessSecurityConfig } from '../../config'; +import { METERING_TASK } from '../constants/metering'; + +import { EndpointMeteringService } from './metering_service'; + +describe('EndpointMeteringService', () => { + function buildDefaultUsageRecordArgs() { + return { + logger: loggingSystemMock.createLogger(), + taskId: 'test-task-id', + cloudSetup: { + serverless: { + projectId: 'test-project-id', + }, + } as CloudSetup, + esClient: elasticsearchServiceMock.createElasticsearchClient(), + abortController: new AbortController(), + lastSuccessfulReport: new Date(), + config: { + productTypes: [ + { + product_line: ProductLine.endpoint, + product_tier: ProductTier.essentials, + }, + ], + } as ServerlessSecurityConfig, + }; + } + + function buildEsSearchResponse( + { + agentId, + timestamp, + }: { + agentId: string; + timestamp: Date; + } = { + agentId: 'test-agent-id', + timestamp: new Date(), + } + ): SearchResponse> { + return { + hits: { + hits: [ + { + _index: ENDPOINT_HEARTBEAT_INDEX, + _id: 'test-heartbeat-doc-id', + _source: { + agent: { + id: agentId, + }, + event: { + ingested: timestamp.toISOString(), + }, + }, + }, + ], + }, + } as SearchResponse>; + } + + it.each(Object.values(ProductTier))( + 'can correctly getUsageRecords for %s tier', + async (tier: ProductTier) => { + const esSearchResponse = buildEsSearchResponse(); + const heartbeatDocSrc = esSearchResponse.hits.hits[0]._source; + const agentId = heartbeatDocSrc!.agent.id; + const timestamp = new Date(heartbeatDocSrc!.event.ingested); + timestamp.setMinutes(0); + timestamp.setSeconds(0); + timestamp.setMilliseconds(0); + + const args = buildDefaultUsageRecordArgs(); + args.config.productTypes[0] = { + ...args.config.productTypes[0], + product_tier: tier, + }; + (args.esClient as ElasticsearchClientMock).search.mockResolvedValueOnce(esSearchResponse); + const endpointMeteringService = new EndpointMeteringService(); + const usageRecords = await endpointMeteringService.getUsageRecords(args); + + expect(usageRecords[0]).toEqual({ + id: `endpoint-${agentId}-${timestamp}`, + usage_timestamp: heartbeatDocSrc!.event.ingested, + creation_timestamp: heartbeatDocSrc!.event.ingested, + usage: { + type: `${METERING_TASK.USAGE_TYPE_PREFIX}endpoint`, + period_seconds: METERING_TASK.SAMPLE_PERIOD_SECONDS, + quantity: 1, + }, + source: { + id: args.taskId, + instance_group_id: args.cloudSetup.serverless.projectId, + metadata: { + tier, + }, + }, + }); + } + ); + + it.each([ProductLine.endpoint, ProductLine.cloud])( + 'can correctly getUsageRecords for %s product line', + async (productLine: ProductLine) => { + const esSearchResponse = buildEsSearchResponse(); + const heartbeatDocSrc = esSearchResponse.hits.hits[0]._source; + const agentId = heartbeatDocSrc!.agent.id; + const timestamp = new Date(heartbeatDocSrc!.event.ingested); + timestamp.setMinutes(0); + timestamp.setSeconds(0); + timestamp.setMilliseconds(0); + + const args = buildDefaultUsageRecordArgs(); + args.config.productTypes[0] = { + ...args.config.productTypes[0], + product_line: productLine, + }; + (args.esClient as ElasticsearchClientMock).search.mockResolvedValueOnce(esSearchResponse); + const endpointMeteringService = new EndpointMeteringService(); + const usageRecords = await endpointMeteringService.getUsageRecords(args); + const usageTypePostfix = + productLine === ProductLine.endpoint + ? productLine + : `${ProductLine.cloud}_${ProductLine.endpoint}`; + + expect(usageRecords[0]).toEqual({ + id: `endpoint-${agentId}-${timestamp}`, + usage_timestamp: heartbeatDocSrc!.event.ingested, + creation_timestamp: heartbeatDocSrc!.event.ingested, + usage: { + type: `${METERING_TASK.USAGE_TYPE_PREFIX}${usageTypePostfix}`, + period_seconds: METERING_TASK.SAMPLE_PERIOD_SECONDS, + quantity: 1, + }, + source: { + id: args.taskId, + instance_group_id: args.cloudSetup.serverless.projectId, + metadata: { + tier: args.config.productTypes[0].product_tier, + }, + }, + }); + } + ); +}); diff --git a/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.ts b/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.ts index 307ba5714e0f4..efa23e6698a3a 100644 --- a/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.ts +++ b/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.ts @@ -14,10 +14,7 @@ import { ProductLine, ProductTier } from '../../../common/product'; import type { UsageRecord, MeteringCallbackInput } from '../../types'; import type { ServerlessSecurityConfig } from '../../config'; - -// 1 hour -const SAMPLE_PERIOD_SECONDS = 3600; -const THRESHOLD_MINUTES = 30; +import { METERING_TASK } from '../constants/metering'; export class EndpointMeteringService { private type: ProductLine.endpoint | `${ProductLine.cloud}_${ProductLine.endpoint}` | undefined; @@ -70,7 +67,7 @@ export class EndpointMeteringService { abortController: AbortController, since?: Date ): Promise>> { - const thresholdDate = new Date(Date.now() - THRESHOLD_MINUTES * 60 * 1000); + const thresholdDate = new Date(Date.now() - METERING_TASK.THRESHOLD_MINUTES * 60 * 1000); const searchFrom = since && since > thresholdDate ? since : thresholdDate; return esClient.search( @@ -113,8 +110,8 @@ export class EndpointMeteringService { creation_timestamp: timestampStr, usage: { // type postfix is used to determine the PLI to bill - type: `security_solution_${this.type}`, - period_seconds: SAMPLE_PERIOD_SECONDS, + type: `${METERING_TASK.USAGE_TYPE_PREFIX}${this.type}`, + period_seconds: METERING_TASK.SAMPLE_PERIOD_SECONDS, quantity: 1, }, source: { diff --git a/x-pack/plugins/security_solution_serverless/tsconfig.json b/x-pack/plugins/security_solution_serverless/tsconfig.json index 636642b2a68d5..00829caa2ffd4 100644 --- a/x-pack/plugins/security_solution_serverless/tsconfig.json +++ b/x-pack/plugins/security_solution_serverless/tsconfig.json @@ -43,6 +43,7 @@ "@kbn/serverless-security-settings", "@kbn/core-elasticsearch-server", "@kbn/usage-collection-plugin", - "@kbn/cloud-defend-plugin" + "@kbn/cloud-defend-plugin", + "@kbn/core-logging-server-mocks" ] } From f638a38c64d0e41e6b97cbe4d629418808e5014a Mon Sep 17 00:00:00 2001 From: Patrick Mueller Date: Wed, 13 Sep 2023 23:53:15 -0400 Subject: [PATCH 005/149] [Response Ops] add ignore_malformed to alerts mappings AGAIN (#165781) Resolves https://github.com/elastic/kibana/issues/161465 This is a re-do of https://github.com/elastic/kibana/pull/163414, which we had to revert since data streams do not support `ignore_malformed` on the `@timestamp` field. We now specifically add `ignore_malformed: false` for that field, and then use `ignore_malformed: true` at the index level. This ignores malformed content globally across all allowed mapping types. For existing alerts as data indices, the new setting is not applied directly to the existing concrete indices but will be applied whenever the alias rolls over and a new concrete index is created. --- .../field_maps/mapping_from_field_map.test.ts | 1 + .../field_maps/mapping_from_field_map.ts | 4 ++++ .../server/alerts_service/alerts_service.test.ts | 2 ++ .../lib/create_or_update_index_template.test.ts | 1 + .../lib/create_or_update_index_template.ts | 1 + .../risk_engine/risk_engine_data_client.test.ts | 2 ++ .../group4/alerts_as_data/install_resources.ts | 2 ++ .../group10/risk_engine/init_and_status_apis.ts | 1 + .../rule_execution_logic/non_ecs_fields.ts | 16 +++++++--------- 9 files changed, 21 insertions(+), 9 deletions(-) diff --git a/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.test.ts b/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.test.ts index aea967a056028..e58b795863e48 100644 --- a/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.test.ts +++ b/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.test.ts @@ -188,6 +188,7 @@ describe('mappingFromFieldMap', () => { dynamic: 'strict', properties: { '@timestamp': { + ignore_malformed: false, type: 'date', }, event: { diff --git a/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.ts b/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.ts index 038fdaf48fbf5..1d5121883df69 100644 --- a/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.ts +++ b/x-pack/plugins/alerting/common/alert_schema/field_maps/mapping_from_field_map.ts @@ -43,6 +43,10 @@ export function mappingFromFieldMap( : rest; set(mappings.properties, field.name.split('.').join('.properties.'), mapped); + + if (name === '@timestamp') { + set(mappings.properties, `${name}.ignore_malformed`, false); + } }); return mappings; diff --git a/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts b/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts index 90552e1d5b0ac..18a80a0bae31d 100644 --- a/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts +++ b/x-pack/plugins/alerting/server/alerts_service/alerts_service.test.ts @@ -141,6 +141,7 @@ const getIndexTemplatePutBody = (opts?: GetIndexTemplatePutBodyOpts) => { rollover_alias: `.alerts-${context ? context : 'test'}.alerts-${namespace}`, }, }), + 'index.mapping.ignore_malformed': true, 'index.mapping.total_fields.limit': 2500, }, mappings: { @@ -808,6 +809,7 @@ describe('Alerts Service', () => { rollover_alias: `.alerts-empty.alerts-default`, }, }), + 'index.mapping.ignore_malformed': true, 'index.mapping.total_fields.limit': 2500, }, mappings: { diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_index_template.test.ts b/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_index_template.test.ts index bf0ae8797eca5..85113b768860a 100644 --- a/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_index_template.test.ts +++ b/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_index_template.test.ts @@ -48,6 +48,7 @@ const IndexTemplate = (namespace: string = 'default', useDataStream: boolean = f rollover_alias: `.alerts-test.alerts-${namespace}`, }, }), + 'index.mapping.ignore_malformed': true, 'index.mapping.total_fields.limit': 2500, }, }, diff --git a/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_index_template.ts b/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_index_template.ts index 30ee06a1ddda0..1466c2734ec19 100644 --- a/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_index_template.ts +++ b/x-pack/plugins/alerting/server/alerts_service/lib/create_or_update_index_template.ts @@ -68,6 +68,7 @@ export const getIndexTemplate = ({ : { 'index.lifecycle': indexLifecycle, }), + 'index.mapping.ignore_malformed': true, 'index.mapping.total_fields.limit': totalFieldsLimit, }, mappings: { diff --git a/x-pack/plugins/security_solution/server/lib/risk_engine/risk_engine_data_client.test.ts b/x-pack/plugins/security_solution/server/lib/risk_engine/risk_engine_data_client.test.ts index 889b01b1ea6cd..ca941bcacce3a 100644 --- a/x-pack/plugins/security_solution/server/lib/risk_engine/risk_engine_data_client.test.ts +++ b/x-pack/plugins/security_solution/server/lib/risk_engine/risk_engine_data_client.test.ts @@ -175,6 +175,7 @@ describe('RiskEngineDataClient', () => { "dynamic": "strict", "properties": Object { "@timestamp": Object { + "ignore_malformed": false, "type": "date", }, "host": Object { @@ -360,6 +361,7 @@ describe('RiskEngineDataClient', () => { dynamic: 'strict', properties: { '@timestamp': { + ignore_malformed: false, type: 'date', }, host: { diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/install_resources.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/install_resources.ts index b6c86b49c7fba..e80a8f94d93b6 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/install_resources.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/install_resources.ts @@ -163,6 +163,7 @@ export default function createAlertsAsDataInstallResourcesTest({ getService }: F rollover_alias: '.alerts-test.patternfiring.alerts-default', }, mapping: { + ignore_malformed: 'true', total_fields: { limit: '2500', }, @@ -196,6 +197,7 @@ export default function createAlertsAsDataInstallResourcesTest({ getService }: F }); expect(contextIndex[indexName].settings?.index?.mapping).to.eql({ + ignore_malformed: 'true', total_fields: { limit: '2500', }, diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/risk_engine/init_and_status_apis.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/risk_engine/init_and_status_apis.ts index 0babe434c7f90..5f6363ada6a29 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/risk_engine/init_and_status_apis.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/risk_engine/init_and_status_apis.ts @@ -104,6 +104,7 @@ export default ({ getService }: FtrProviderContext) => { dynamic: 'strict', properties: { '@timestamp': { + ignore_malformed: false, type: 'date', }, host: { diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/non_ecs_fields.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/non_ecs_fields.ts index 32ae758b20807..ca9c047209b53 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/non_ecs_fields.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/rule_execution_logic/non_ecs_fields.ts @@ -56,7 +56,6 @@ export default ({ getService }: FtrProviderContext) => { }; }; - // FAILING ES PROMOTION: https://github.com/elastic/kibana/issues/154277 describe('Non ECS fields in alert document source', () => { before(async () => { await esArchiver.load( @@ -257,9 +256,10 @@ export default ({ getService }: FtrProviderContext) => { expect(alertSource).toHaveProperty('client.nat.port', '3000'); }); - // we don't validate it because geo_point is very complex type with many various representations: array, different object, string with few valid patterns - // more on geo_point type https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html - it('should fail creating alert when ECS field mapping is geo_point', async () => { + // We don't validate it because geo_point is very complex type with many various representations: array, + // different object, string with few valid patterns. + // More on geo_point type https://www.elastic.co/guide/en/elasticsearch/reference/current/geo-point.html + it('should not fail creating alert when ECS field mapping is geo_point', async () => { const document = { client: { geo: { @@ -269,12 +269,10 @@ export default ({ getService }: FtrProviderContext) => { }, }; - const { errors } = await indexAndCreatePreviewAlert(document); + const { errors, alertSource } = await indexAndCreatePreviewAlert(document); - expect(errors[0]).toContain('Bulk Indexing of signals failed'); - expect(errors[0]).toContain( - 'failed to parse field [client.geo.location] of type [geo_point]' - ); + expect(errors).toEqual([]); + expect(alertSource).toHaveProperty('client.geo.location', 'test test'); }); it('should strip invalid boolean values and left valid ones', async () => { From 89d6bbbeb779fc6b16364a328a70f1222678baa8 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 14 Sep 2023 00:52:18 -0400 Subject: [PATCH 006/149] [api-docs] 2023-09-14 Daily api_docs build (#166420) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/460 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.devdocs.json | 78 ++++ api_docs/aiops.mdx | 4 +- api_docs/alerting.mdx | 2 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.devdocs.json | 8 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.devdocs.json | 20 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 2 +- api_docs/deprecations_by_plugin.mdx | 4 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- .../kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.devdocs.json | 12 + api_docs/kbn_analytics_client.mdx | 2 +- ..._analytics_shippers_elastic_v3_browser.mdx | 2 +- ...n_analytics_shippers_elastic_v3_common.mdx | 2 +- ...n_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- ..._core_custom_branding_browser_internal.mdx | 2 +- ...kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- ...n_core_custom_branding_server_internal.mdx | 2 +- .../kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- .../kbn_core_saved_objects_api_browser.mdx | 2 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...aved_objects_migration_server_internal.mdx | 2 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- ...kbn_core_user_settings_server_internal.mdx | 2 +- .../kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.devdocs.json | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- .../kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- ...gement_settings_components_field_input.mdx | 2 +- ...nagement_settings_components_field_row.mdx | 2 +- ...n_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- .../kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.devdocs.json | 32 ++ api_docs/kbn_ml_date_picker.mdx | 4 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- .../kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- ...ared_ux_avatar_user_profile_components.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- ...hared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.devdocs.json | 48 --- api_docs/maps.mdx | 4 +- api_docs/maps_ems.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 12 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.devdocs.json | 8 + api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.devdocs.json | 345 ++++++++++++++++++ api_docs/visualizations.mdx | 4 +- 595 files changed, 1078 insertions(+), 667 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 74c2df42d3ebe..35093363d3dbc 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 2b846854e3332..a93afa2822200 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.devdocs.json b/api_docs/aiops.devdocs.json index 7d557f4d3c601..9ac0267216277 100644 --- a/api_docs/aiops.devdocs.json +++ b/api_docs/aiops.devdocs.json @@ -676,6 +676,20 @@ "path": "x-pack/plugins/aiops/public/hooks/use_aiops_app_context.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "aiops", + "id": "def-public.AiopsAppDependencies.isServerless", + "type": "CompoundType", + "tags": [], + "label": "isServerless", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/aiops/public/hooks/use_aiops_app_context.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -759,6 +773,22 @@ "path": "x-pack/plugins/aiops/public/components/change_point_detection/change_point_detection_root.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "aiops", + "id": "def-public.ChangePointDetectionAppStateProps.isServerless", + "type": "CompoundType", + "tags": [], + "label": "isServerless", + "description": [ + "Optional flag to indicate whether kibana is running in serverless" + ], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/aiops/public/components/change_point_detection/change_point_detection_root.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -842,6 +872,22 @@ "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_app_state.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "aiops", + "id": "def-public.LogCategorizationAppStateProps.isServerless", + "type": "CompoundType", + "tags": [], + "label": "isServerless", + "description": [ + "Optional flag to indicate whether kibana is running in serverless" + ], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/aiops/public/components/log_categorization/log_categorization_app_state.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -941,6 +987,22 @@ "path": "x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_app_state.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "aiops", + "id": "def-public.LogRateAnalysisAppStateProps.isServerless", + "type": "CompoundType", + "tags": [], + "label": "isServerless", + "description": [ + "Optional flag to indicate whether kibana is running in serverless" + ], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_app_state.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -1172,6 +1234,22 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "aiops", + "id": "def-public.LogRateAnalysisContentWrapperProps.isServerless", + "type": "CompoundType", + "tags": [], + "label": "isServerless", + "description": [ + "Optional flag to indicate whether kibana is running in serverless" + ], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_content/log_rate_analysis_content_wrapper.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 7080314757917..df636eddf2fb0 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 61 | 1 | 3 | 1 | +| 66 | 1 | 4 | 1 | ## Client diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 49ebca6cd544b..eb8b14a66c29e 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 0321e08da232e..8d11f15439375 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index ccc6dae388e7c..64ae8eec8edd0 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 2bad7c5caf69e..81ac546db1f45 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index b7b359acda646..58ad99d1ad05d 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 9f3e7bacf423f..95a9b7a35ee67 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index 35c31f24455e0..ae4f9906f81c1 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index c4ea980bdfd40..cd313321fc84c 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index aaf83ded16c82..066ebf6eaa6d0 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 8baed658a86d9..7490751ff56f9 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 2da12d342ced2..00aa0e12d4d06 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index cfefd3c8175fe..492d34e66c3fb 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index ad12a3d3293e5..3e5dad06541d4 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 07ba774eeb694..0f1e93445d99e 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.devdocs.json b/api_docs/cloud_experiments.devdocs.json index d08957de16642..da90785517ae6 100644 --- a/api_docs/cloud_experiments.devdocs.json +++ b/api_docs/cloud_experiments.devdocs.json @@ -117,7 +117,7 @@ "\nFetch the configuration assigned to variation `configKey`. If nothing is found, fallback to `defaultValue`." ], "signature": [ - "(featureFlagName: \"security-solutions.add-integrations-url\", defaultValue: Data) => Promise" + "(featureFlagName: \"security-solutions.add-integrations-url\" | \"security-solutions.guided-onboarding-content\", defaultValue: Data) => Promise" ], "path": "x-pack/plugins/cloud_integrations/cloud_experiments/common/types.ts", "deprecated": false, @@ -126,14 +126,14 @@ { "parentPluginId": "cloudExperiments", "id": "def-common.CloudExperimentsPluginStart.getVariation.$1", - "type": "string", + "type": "CompoundType", "tags": [], "label": "featureFlagName", "description": [ "The name of the key to find the config variation. {@link CloudExperimentsFeatureFlagNames }." ], "signature": [ - "\"security-solutions.add-integrations-url\"" + "\"security-solutions.add-integrations-url\" | \"security-solutions.guided-onboarding-content\"" ], "path": "x-pack/plugins/cloud_integrations/cloud_experiments/common/types.ts", "deprecated": false, @@ -227,7 +227,7 @@ "\nThe names of the feature flags declared in Kibana.\nValid keys are defined in {@link FEATURE_FLAG_NAMES}. When using a new feature flag, add the name to the list.\n" ], "signature": [ - "\"security-solutions.add-integrations-url\"" + "\"security-solutions.add-integrations-url\" | \"security-solutions.guided-onboarding-content\"" ], "path": "x-pack/plugins/cloud_integrations/cloud_experiments/common/types.ts", "deprecated": false, diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 77d1d81611094..5a897679a94aa 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index fa344b8cd1e08..db26f11574c87 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index a5647838823c2..1ed549faca80a 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 678f4bc4d01d6..3e189bf8b3ec3 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 6222fdddf3101..878b8803dc482 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index ed8b09b8aa01d..d723a7d4e437e 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 29e6604854c95..c6dca702c096a 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index d0984d0dba3e1..0caf30d26e0ac 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.mdx b/api_docs/data.mdx index e03cb84f065e1..f9e0407c3fd9b 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 94a4d83f941cd..fb06d06c4cdcb 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index d05211b72db28..944b619382ea2 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index bc9c5332b1d5c..fa9203fb90d79 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index 09560e1cd46cd..e4e3ad1de217a 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index 146d057db3d61..b811c9f7bdee3 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 8944c31b46bde..500cebeadf386 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.devdocs.json b/api_docs/data_visualizer.devdocs.json index 9f100882c91c9..d583f8f3d85b7 100644 --- a/api_docs/data_visualizer.devdocs.json +++ b/api_docs/data_visualizer.devdocs.json @@ -433,15 +433,7 @@ "label": "IndexDataVisualizerSpec", "description": [], "signature": [ - "React.FunctionComponent<{ getAdditionalLinks?: ", - { - "pluginId": "dataVisualizer", - "scope": "public", - "docId": "kibDataVisualizerPluginApi", - "section": "def-public.GetAdditionalLinks", - "text": "GetAdditionalLinks" - }, - " | undefined; }>" + "React.FunctionComponent" ], "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx", "deprecated": false, @@ -489,15 +481,7 @@ "label": "DataVisualizerPluginStart", "description": [], "signature": [ - "{ getFileDataVisualizerComponent: () => Promise<() => React.FC>; getIndexDataVisualizerComponent: () => Promise<() => React.FC<{ getAdditionalLinks?: ", - { - "pluginId": "dataVisualizer", - "scope": "public", - "docId": "kibDataVisualizerPluginApi", - "section": "def-public.GetAdditionalLinks", - "text": "GetAdditionalLinks" - }, - " | undefined; }>>; getDataComparisonComponent: () => Promise<() => React.FC<", + "{ getFileDataVisualizerComponent: () => Promise<() => React.FC>; getIndexDataVisualizerComponent: () => Promise<() => React.FC>; getDataComparisonComponent: () => Promise<() => React.FC<", "DataComparisonDetectionAppStateProps", ">>; getMaxBytesFormatted: () => string; }" ], diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index 45e1f8b045824..9af2e6b0de77c 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 36e26120e41e0..33efb0098898e 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 0c396bf1c2d0c..d913f540e4fed 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -1483,7 +1483,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx#:~:text=DeprecatedRowRenderer), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx#:~:text=DeprecatedRowRenderer) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [use_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/use_data_view.tsx#:~:text=BrowserField)+ 29 more | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields)+ 102 more | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields)+ 104 more | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyRequest), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyRequest) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyResponse), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyResponse) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/types.ts#:~:text=SimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/types.ts#:~:text=SimpleSavedObject) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 35aa77b621a4d..315c8c78a8917 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 5c28c06fd69c0..0cd62fa26270d 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index ef5fa29530011..015dcbce6b836 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index ff158f6a5a37f..4a1da36700607 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index b653fb78036e4..a5322683fb44b 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index 70c1b911bda7e..a86798d4d29b8 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 9217763484b93..1738d56ba1509 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 947b0e22a3a51..92f129b847ad9 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index a203be3c2e59b..badf64955f4b2 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 025b910b17d62..3799a6ca4878b 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index 2996d73375ba5..aa32d7a7fc638 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 252d84810e54b..49b80bac48a1b 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 3fff455b0a940..a8a483f57833d 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index a7af7966142de..ed645d5a14f12 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index e022424c3bcfd..bad78b8a935e3 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index 025a92714cb2b..1b52b4404c1dd 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index f77caa84872dd..94348ddd9719e 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index df0d244e525e0..26ca1b91211e0 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index 216d05dfda4b5..d458ee09812f6 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 7447f9267eeab..62bf87a47d9fe 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index 7f318a76a2e2a..5017d0b58cc46 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index fcc3d1cdddc09..b799b8837d5af 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index 1e57837174182..3f5bd50684c31 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index 4d8583e8c96ed..93cd5576a11b5 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index 55b73dc07e946..dafa9fdafb89d 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index a7ea5594dc7e1..cd06e685ac2e8 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index 4fc8bfe7e5077..c83b94e3bea25 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index 8ff4021bced53..cb925007908f8 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index b6ead9d135807..d09603476ddcb 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index 340c879e1b751..3f2760ed18466 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index b97278b601b79..55e152a8dd0e6 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index d9370b426ba25..ce2bda25bbb89 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index e2b7e5da3f308..8309fe669b68a 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index a2d2ac414a189..1189b703da422 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index 1e0c1befd77ce..e403a829ca589 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index 727ef69690db4..115839221c841 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index aeebb152ddbb7..20bf23f93dae4 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 30e0ffc11e61b..b7c5339227511 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 461076745bfca..995d74c09c7a7 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index 10df7ee6b8495..f777cf7b8cb05 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index 81c6d278ba6c5..edcc3fc7bcc35 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 05d5cf4824821..e2e55c9d3bea0 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index 70bd1093402f0..c5088b0fcc3fd 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index ced2a0416e5ef..b147821915736 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 840621476fc4a..2ef6d1201982a 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index 30fafa575aa86..9729ddc7e5822 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index a50005a3eb4d3..cfbbe6416aa73 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 087548ae3f2c7..135cc02b5dfad 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 31dabd1555c9c..d249532a088ae 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 377eb4a494990..53d9eb5130b6e 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index ad361f8e3e7c1..1431fba1f5603 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.devdocs.json b/api_docs/kbn_analytics_client.devdocs.json index b9707eeb74ff3..54f5709af6432 100644 --- a/api_docs/kbn_analytics_client.devdocs.json +++ b/api_docs/kbn_analytics_client.devdocs.json @@ -750,6 +750,10 @@ "plugin": "infra", "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_client.ts" + }, { "plugin": "apm", "path": "x-pack/plugins/apm/public/services/telemetry/telemetry_client.ts" @@ -938,6 +942,14 @@ "plugin": "infra", "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/public/services/telemetry/telemetry_service.test.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_service.test.ts" diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index 7c8bad3bcf0bd..ffe3d3bface57 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index 612a946dbe6b5..3c96fe25ac23f 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index 29c87b3489d74..4c61af7418529 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index d0a75d3834b97..cc69b90b02ab1 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index c7d43d33f7678..fb42c84c8d60f 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 4dd5ec04c8753..790648d321309 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index 16349148ffbdb..d089126f3ecae 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 211f858c95038..c0b66a4bb4b33 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 9b59ec8bc69b5..83ef540bf9c02 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index caa146e8e0c55..b1722beaf22d7 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index ce33e7094b5d3..f6d8149c4718b 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index e154d1876617a..9c89365ea8091 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 43c2d48d8d503..74ca45ec6775e 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index dc2a22537cfbd..b019c44193b56 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 3057e387f2dce..aa9cf36e37845 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index 624246f3f1cbe..ac83bc1e33802 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index 9bc2481809ebc..aa19a99c0f9c8 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index bed3382b721da..3462658ae8b2f 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index e004b83be3ba0..553d65ee47bc1 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index bcf1edf67f4d6..8e0277e7db7aa 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 0693c819d3639..867cba81c5307 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 837799a3183ab..3e9391da6d281 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index ea2afb6cebc6e..c49af4c7a5f6e 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index fd1b2b0704e5c..27822dcba6cb8 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index fad14faae22ab..578480beca5d5 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 689fffafe3d10..ef0033a143904 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index d60366283c07f..7e415409a156a 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 7685973bf5445..c0669b3adb2a5 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 3e120dd75aa81..3054e3eb47f1b 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 638a0719fbc92..5955c4c99eb31 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 38a5af9bca204..8cf13fd3492c6 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index cdd8ddc274859..9b9b39d89f1c0 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index b0e98295e3651..0aa2e732fc2cd 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index d3fc29b22133c..dcf96e0908c96 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index f75467bf89bd3..2fbb2da333f13 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index 83bf6e86b3882..c5edfca8f1ab2 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index 3bceef68891e7..20b6ccdffcea9 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index e6e96eac11a67..ed0f55dc30423 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index e69b9cbd85f31..1793b350dc471 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 89677d63998f6..7da5ba0598cdc 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index 1da42e9b40e3b..f315cedc79d56 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index f089280e74a0e..d65efcc0dbc1c 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 3be5e340de76f..7ef3b141a0b68 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index fb8a09425d2e4..027859db64e84 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index f2e2d4e81d5c0..91722fa6e8732 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index 799955a5d8168..d4d37b94994a9 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index a343df6e423d4..d7b50cd1dc902 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index 2e0c77ef52b11..c28f64d47c4dd 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index d002a63d85cb6..0659818dd5dcd 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index 9078dd27a2cd2..52d171cd61828 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index 627a503686bea..782d1c71df942 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 18c9cf8270f55..4a67c2411d8c2 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index cac16801c9b61..714f0c599fd2d 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index ec21285b3e2a8..e835a5a187806 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index 2f5550e57d5d3..6b9b1308ee859 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index 4ad9e7c5b741b..287a669467bd7 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index dba337f90278c..ed20a5c0e6ef0 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index ade37e92fa17b..c35070cbf836f 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index b129f94245a42..01825cb8f95bd 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index b8426f93d901d..e8b19f7738fac 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index b223b8ad24295..2cdbbdc2a31cf 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 94ff3b5d15f66..404775d535b34 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index 85a3df5bd0d3f..0dcd881edefc2 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index f65063eff2d64..4dd04a4a2417e 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index 24a60c23de605..ac35a73fa16db 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index ad7bbeba00b9c..4e22df08f088f 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index e7601e739d8d0..843a16e17f3f1 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 019dae5622e00..4caf7ee701b9d 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index 625aea26f97c2..579d71ecd3f45 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index bb05db24ec7ee..a037e10ce4868 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index 8d84a1cda3a30..c3807f2afe0cc 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index 2bebe89767c7b..ebeff75721071 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index 960f0bf180c46..b497966eaec95 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index b129f424bc4d6..ca00222785147 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index efc5ffba7900a..eeb5ceccc4e21 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index 8f44d2fbc2bf3..77e47f46d4f12 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index 12fc7c154011e..4c9d1b3c4dc4e 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index 5d373c4a6d75f..5805fae6acecb 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index fa14ca9284b8e..f3c1b316ed386 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index 04251bcddd9b9..6dbbfbbfefcde 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index df8abf49b100c..62d00f3533b03 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index b6efb8777a1b2..4836ca5f632ef 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index 8d820a4a6512c..c65d904f71434 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 0a82ff6f4bb98..9aab545bd7478 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index 6f255b40819c5..765ba28ef92ea 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index 990ac7a7691a4..50876d64f5387 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index 7e3fc0712d744..d8bdc0d69d7be 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index 788740f733e54..edff2673e1499 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index 7620efe9b717b..bc0f5bba42573 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index e45995f2ba22f..f893bfda491bb 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index edf36ab2b9b30..989ce9e75592f 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index 73eaab5107815..bceadcaaddbc5 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index 333bc2ef14e47..7efd3d945f7c3 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index c939eccfa85f0..b0b1f97a2bd95 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index 75c5bafb6656d..18166b29ee95f 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index e1a27e29f13d0..c3ef79d35e115 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index 1db0150620673..e373873a994d8 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index 190f4aaba37e2..fea6f17a74d5d 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index 2b6111f5ee4b7..42a2a1996e9b4 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 56192d84288a0..f1a9420a6dba2 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index fac7054f4bedd..a96ffb4fee0d4 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index ebc8c2badc6d4..f67324d54b8f4 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index 6793915901fca..a96a91913ae81 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index 297bc703eced0..2c3fb7dddb5b2 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index f16a926b45ab2..c1acb799daa47 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index 5f57f2d579b04..752d43dde339a 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index f6299a3b0cbe9..15946d8856b5a 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index 4d3182846eda3..9990c6d12c3ea 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index edffd877512c5..0322ce21d3a61 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index fd71c7f8d2581..25332d56bb401 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index 67205cc60f586..3c6c7326baff9 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 4cb2b9b7aa27c..3516f844e6a8c 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 622f94777e1e9..a1bd756124637 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index af0d5329fdbe3..9aab97336ed24 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 70f69fadbc86c..974185fd2efcf 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index c0954438f8bbc..2a77b6fb5968d 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index cb285fcbc0817..cc2730ee5b6f8 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index 53d61904513b7..6c29e1af11ed3 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index c1c6e19ab8a68..17f58e583716b 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index b10208998bcd7..a016dda6748a1 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 3ff5150143804..3dfadf831a780 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index c44b0b2117ce5..ef9713312b60f 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 55e9bb16959e5..837a9c3abc1ca 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index 8fac50c57da1a..669e6a6f0e541 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index 1b172c825ace1..a6f0d2993a50a 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 7008beab1738c..82dcf89027474 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index 8b7335baad4bf..004a7825bcaab 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index 5ddb00dd955e7..d0eb2e765f638 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index 3f2acf7b4fb3e..8211fe121ad3f 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index 2ac5493f2b133..a367383620f51 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index 90cf4cb1f9fd0..0feed1a4dc481 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 7d88695f51048..7f50121077049 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index 94583af89cadb..f28268d85f9ee 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 8ae081bcb9b1e..71f1f2870f428 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index 3e535f141bc30..f5f0ca49ac3aa 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 2e20f288f809a..8197bd50889f6 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 724b2e312ed06..19c7afaccde3f 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index b509c9f5e2c6c..abb50e8d40852 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index 43e99414f7c20..e6b8d44f41d8b 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index 1b35bf41a48fc..e3b4cfa4588fb 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 3572eec8dc6d7..a15f7b5970710 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index 280ccbc6fbe40..ffd669a1e801e 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 95c7012b86872..2829f1442d7df 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index da17aa9946e86..a1470d638f330 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index d6855a30e4fcb..e83b208794440 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 641c6f84c886a..2420e3603c5eb 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index 5ffbe9c75bf4a..add3549a127fa 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index 9d68a4399bdb8..fdd88c1aa1869 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 2169deffd755e..c7510a30ff213 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index 595e680adcd92..9ace18c845371 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index c8ada6c1d565d..09904d03543aa 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index 9ff3c6997fdad..c35a0d8b2c798 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index d237c9e4d649c..732f44f569c58 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 6e9cd37dd72d1..28cb0a346cc7d 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index cad186b2dc033..202a674c2d221 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 6e1664e89b1bd..3ea27ffed6e3d 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index c1f3776997875..fed47eab18bd0 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index be93347de8bf6..afac337ae7dad 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 21b3f41f0fee1..13b3c24264e00 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index 46ead18c42752..66cfea3f106dd 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 1f28dab63ff5b..da82559da4d03 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index 647c4e01d8b17..ab8719fc0005e 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 20d65f134cf1c..4e6661a26f4b3 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 0707e03010fb3..51bca68764d14 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index 33a38b2a54919..920d0bcd76e69 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index 481cd2b4bfd41..68cdd48f61caf 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index b23a31f9048d2..426faf14ad724 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index e8e77e92f6c28..43dadecb6b675 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index abfa1570e05ed..c2588c80c2d4c 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 371e3c6f42444..806dd2ddf74c3 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index db1e0f76d4d62..ab36199531b08 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index f276b62a73423..87e64b3e9dc6e 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 7c24094965b1e..723fdc031cd8c 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index 770daf63751bf..a4d5850c6d7f3 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index 9b21cae907972..443d4510da17a 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index 65327a6f206fd..10366c7a81a92 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index 1aa4a737229d7..0bbd38008d772 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 9cb79338d1682..3f38fdf89d796 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index ff32cbf0d8e3c..d42ce278136f5 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index 404134d87f917..4592965584fc8 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index da875bbf0e182..06f3590f9d9e7 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index 1e64c972845b0..83b3e653bc2a2 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 771d2a438138c..8ffb29e7099d1 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 06fbdc6d3125b..fd59fd322103d 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 06b5995f2a0a1..3d6eeab4a5e3a 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index dd2186a3171b8..468f9209653a3 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index a853e8d288304..6d2c66efaf58d 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index 905bcbc3d5f6f..402265ddb45f1 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index a601161cb0b97..b4f2d3606d4e7 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index 8ac9dd661d0df..f68f57dc9f816 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 20099207784ab..e937e3c729b2c 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 64ee037296eed..ea8ff98efe846 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index c4a834b032daa..84a272a284f97 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index ba3d070bf504c..9ebcd52088c75 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index 625bce98cf1d1..eda0c8946c248 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index c775e2c4cf663..a48227bed454c 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index e50ede7967e03..8c0262e7e0169 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 785c22d4ff37f..691a7af9f0c12 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index 638eab6243550..08a7afa549976 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index caed466a20784..7c5d8f4e48386 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 99894427aa689..26e3ce6933cd4 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.devdocs.json b/api_docs/kbn_default_nav_ml.devdocs.json index 2b213eea008dc..1c99e5a71cbbd 100644 --- a/api_docs/kbn_default_nav_ml.devdocs.json +++ b/api_docs/kbn_default_nav_ml.devdocs.json @@ -172,7 +172,7 @@ "label": "children", "description": [], "signature": [ - "[{ title: string; id: \"root\"; children: [{ link: \"ml:overview\"; }, { link: \"ml:notifications\"; }]; }, { title: string; id: \"anomaly_detection\"; children: [{ title: string; link: \"ml:anomalyDetection\"; }, { link: \"ml:anomalyExplorer\"; }, { link: \"ml:singleMetricViewer\"; }, { link: \"ml:settings\"; }]; }, { id: \"data_frame_analytics\"; title: string; children: [{ title: string; link: \"ml:dataFrameAnalytics\"; }, { link: \"ml:resultExplorer\"; }, { link: \"ml:analyticsMap\"; }]; }, { id: \"model_management\"; title: string; children: [{ link: \"ml:nodesOverview\"; }, { link: \"ml:nodes\"; }]; }, { id: \"data_visualizer\"; title: string; children: [{ title: string; link: \"ml:fileUpload\"; }, { title: string; link: \"ml:indexDataVisualizer\"; }]; }, { id: \"aiops_labs\"; title: string; children: [{ link: \"ml:logRateAnalysis\"; }, { link: \"ml:logPatternAnalysis\"; }, { link: \"ml:changePointDetections\"; }]; }]" + "[{ title: string; id: \"root\"; children: [{ link: \"ml:overview\"; }, { link: \"ml:notifications\"; }]; }, { title: string; id: \"anomaly_detection\"; children: [{ title: string; link: \"ml:anomalyDetection\"; }, { link: \"ml:anomalyExplorer\"; }, { link: \"ml:singleMetricViewer\"; }, { link: \"ml:settings\"; }]; }, { id: \"data_frame_analytics\"; title: string; children: [{ title: string; link: \"ml:dataFrameAnalytics\"; }, { link: \"ml:resultExplorer\"; }, { link: \"ml:analyticsMap\"; }]; }, { id: \"model_management\"; title: string; children: [{ link: \"ml:nodesOverview\"; }, { link: \"ml:nodes\"; }]; }, { id: \"data_visualizer\"; title: string; children: [{ title: string; link: \"ml:fileUpload\"; }, { title: string; link: \"ml:indexDataVisualizer\"; }, { title: string; link: \"ml:dataComparison\"; }]; }, { id: \"aiops_labs\"; title: string; children: [{ link: \"ml:logRateAnalysis\"; }, { link: \"ml:logPatternAnalysis\"; }, { link: \"ml:changePointDetections\"; }]; }]" ], "path": "packages/default-nav/ml/default_navigation.ts", "deprecated": false, diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index ee9ee501515d8..117f01f9ccc77 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 925f6e916d4b8..7a9d4a4e7f555 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 93ed8330f7bf1..7930f66a603c1 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 2d9fbd7349e62..b568836c5f628 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index 3720039d4bfe4..252b4e0cdc5d0 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 01964ac5527d7..9196470355b68 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index c9b0fa9ec9aac..1c58a1d31e1d0 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index f0d79b25235ba..e4bcef45d816a 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 2bc1fc8dc1528..d7b92de184d4d 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 7c97e78475f7e..7388513782a13 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 0173d4a028259..0843aa27ff8c5 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 96f106702aae0..b353843e9e332 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index ab3c82e8fcdc8..1ba4e728e49b7 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 22c9ba4d80ae4..89ff7c10892f4 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index be71956d98fe5..28c637702b55c 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 40439d20ca089..34c58173357d0 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 0712fca6d837e..1066715039485 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 5e31bfaa121ad..836c776c853d3 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index dc6d7d4741330..072dee410b69f 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index 0580b7ba9cfd2..a214bd2bd202e 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index fd16db558722a..f51d5e245f997 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index ec132a7ca87dd..fd0f9cc61e2b2 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 8e0ef67baf5a6..994d098957d04 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 5d7f29a0e55eb..3fc220ae3faa2 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index ff41b34f565ab..3a1d3920ab33b 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 482c6066fece2..1c9f4f29d9916 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index d577c348169ca..5fb0099ea25a7 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 6f0d7a49bb273..cf6ac3b59e77c 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index d3b65b32e9eb8..e435c1147127c 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 6f045381a2937..ecac237884d1f 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 83c2936d49330..64d797f32e392 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index df3d2a40d9d89..ffff5f3cd5b7f 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 5b6264973a3f8..7d6a310835867 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 9c2be72f59c22..cf2ff5525a876 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index f6741ecb0ed6a..5abf26c4f193a 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index 980f13dd03aac..2a58622d1e73e 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index ec3f632afabc2..99279d187f7d2 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 6bc9021130a7c..5058aace33308 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 101c3b4da4f6f..9ac8718e3bed8 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 0f4a144df6b34..2ebcceaf52377 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index 530eb8d508e45..0404ed68cdb1f 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 6b234c62eb11c..e0f9f068062d1 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index f2a811ec6aa63..5e3f0ce648169 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index 485643ab2d9b2..fe925e1ccef9e 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 6c6c91aaea30d..e6a7507a9dca2 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 777ae2876d2ba..c8e3d92d65f22 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index d5b016137948e..512f4c1fa3ace 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 9406e406bd882..cf8e7b3840b89 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index 1b70ff4c25a95..d01bce98b250e 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index 147084d2cb7df..1b0c3a81d7747 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 972b00f385842..731a39b4a0759 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index 559629a02eae2..deb1878538c85 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index 9a012764d458d..2486a1bbea21a 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 63f3d5df631bf..5fde65dc8c8e9 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index c294a94fe7007..1154b21edec99 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 17370654b494a..3601315e30b87 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index c8592100f1456..56d44aa6d6f1f 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 31e0ff94a2a40..1fe994beecc27 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 8364e5c6de53c..516d37b6560d1 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index f309595582bc4..faf983b8c2848 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index 233ec13546216..c9169c7a742c8 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 657ff4b8264ad..9d09acf46725f 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index be9336d573cd2..dfbce3358cc19 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 1a3afc43e56d7..da174530aea8b 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index c13c54d34121b..6060c29616f76 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 647cb07b3eb64..51d7c0f5233b2 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.devdocs.json b/api_docs/kbn_ml_date_picker.devdocs.json index 69aa0e7997284..77ed2b13c1320 100644 --- a/api_docs/kbn_ml_date_picker.devdocs.json +++ b/api_docs/kbn_ml_date_picker.devdocs.json @@ -543,6 +543,22 @@ "path": "x-pack/packages/ml/date_picker/src/hooks/use_date_picker_context.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-date-picker", + "id": "def-common.DatePickerDependencies.isServerless", + "type": "CompoundType", + "tags": [], + "label": "isServerless", + "description": [ + "\nOptional flag to indicate whether kibana is running in serverless" + ], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/packages/ml/date_picker/src/hooks/use_date_picker_context.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -935,6 +951,22 @@ "path": "x-pack/packages/ml/date_picker/src/components/full_time_range_selector.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ml-date-picker", + "id": "def-common.FullTimeRangeSelectorProps.hideFrozenDataTierChoice", + "type": "CompoundType", + "tags": [], + "label": "hideFrozenDataTierChoice", + "description": [ + "\nOptional flag to disable the frozen data tier choice." + ], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/packages/ml/date_picker/src/components/full_time_range_selector.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index c6f8376c47a28..de595129f47a2 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 47 | 0 | 0 | 0 | +| 49 | 0 | 0 | 0 | ## Common diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index be18567cbb014..1babbce038986 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 726d94891ed72..41edd5cdb082b 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 06ab4563359c0..e014bb5bef501 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index b74d2f40fb222..d5081aa7708b8 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index e04b238a09c40..ab2ad4fe9e9b8 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 3c6e582f76844..303015211d79c 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 863d2d28a4e24..8ca1334f68f4a 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index 03269cb0d0ed3..372d9706d3085 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 0dae3a21c7702..d821e2e580ab7 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 381ef607c2a62..67875c6b64084 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 05c5b586cab36..19c752789f91f 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 16c8571c874e4..581ae125a9639 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index 57a5df70840ad..cbbf0b11237d1 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 9dec182d24c48..ab68d7e40e6ce 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index c6a77c39a1a26..1c0a1d837d374 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 0d9473a6f86f5..35fa94cf16087 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 9e5313ea98c4a..a850307aa3e2a 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index dc9d79bfa9777..52bbe51a7d3be 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 56b02aebfb5ea..591a7c52ba5a2 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 5380d1d3b8d3a..eb6f2c703fe14 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index d010e5fe75378..26f754927bd8b 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index 7c70442dd6f6b..504e006161dde 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index e581c401d18e4..2ba81e7f255ca 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index d6a167647782b..71f99b22df5eb 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index 1f1a6f95d8d1c..1bd90b4d11f7f 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index a864a8f52e917..2e27bb4c68a28 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index 62f75661a564a..477dafb3ec330 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 934776daccf4c..1c0d5b1c1d61a 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index be5b4d7317203..f79dc0412d77e 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index 47a7840f07b8d..d7647c1a488bc 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index 2284a1ab60842..69ee7b24992b8 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index a2b1c5c67e218..5120b8d20ce12 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index 1a9f28711e615..b1d8235baf9a0 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 32ecfc853ef48..b4987ba08e900 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index da1599e7fc66f..bf6f2dded5944 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 76950102c2693..4313545c41d0a 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 3decad6e6e1c3..c5de295576a1f 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 3e2c73632a132..2caf813b19870 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 6a2412a96fc1f..916ac5345bbca 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index bd1de89298aa7..71e35dbcd5313 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 679ea275d904d..fdd500a48db18 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 6089cf1b5a99a..bd34be09c09c0 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index f6c4935a70707..8f324f676defb 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 4234000350c4d..2fd3a476ec87b 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 091ec4908a5e1..83b6d15f4958d 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 6acb8bc0ab314..78a1370ed3965 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index a50f73e7ca604..bd7ecdc91b562 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 265af90e0d81a..95ae6ed381a17 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 90a55a8147350..10147d18823bf 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 349822c41dd04..fcdea65c6a604 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 676bd50193170..85107112b6ef7 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index 45cea3ee8386b..e132ae5f6d5bd 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 425802eee52dc..9b92b516449ec 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index f401066e69335..c652290741930 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 7666acc49edef..42b688f775adb 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index c0d0505a3c8ad..971c321115555 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 47686702540aa..3fe33fe354aa4 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 6c3fa9690485a..35db1fcf64345 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index c88f5a634e9d7..7a99dec44d648 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index fbd9cea5e3ccd..f3f66c0e8831b 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index 2e40e7c12c181..e9fd10ad113b6 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index e542cc8df8dac..0672746984568 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 05eb8cc077765..4fd7663ca01f0 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index c38ace33dbbc1..59672d83f3691 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index d1acab8a34fd8..91ee307dfee65 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index d8e7c5a7d078f..c77a9a5e2044c 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index 1bc4ef4d225e4..fa4faf0ea89ec 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index 69ec92ff8e812..2dd4d54677b50 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index d172148a6b99c..af459ce9b9d96 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 04c06dd1c5630..e6a86607ba660 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index ee878f57220cc..3267ec4aff5cd 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 02c5606b0aa82..176ff9a2ac21b 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 0844f0e999d77..dc303152eab62 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index 575c3a99a7c68..5426f18ee03fb 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index 9961dbdbed79f..f40a9ed5229d8 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index 29344ddbe1e98..2c9f4a5a20d2a 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 2d8ba2d0494b8..40e828cd991d9 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 96c052166a38b..3e7b927bbf3f3 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index a7c0873016a7e..6cd724e901483 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 5e4e0be470993..0a661891d862a 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index a9da1a6e22917..2a27439f35971 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index f5826bcf9adda..74ace59880f6c 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index 2c583dc3e77ac..56888a0442d78 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index 860e878a2a25c..cebcf1586d85e 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 65ec1953880ad..d28dc17d88a95 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 3d5ebbcc325ef..1c5fa25f9984f 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 05df1e3c48d61..af5b5f85ce6b6 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 170065a54c9f7..8474b29295de4 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index 2c46fdac34a17..b2cca425f06f1 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index 2a6fd8a8efa67..f1be5726c7c66 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 2a06b6994f5d1..eb8f5f0d7a780 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 270775d965ea4..9db863d26dfd8 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index aa952107aa3c7..bccce31a1479b 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 0ceccc88c158b..82c64d13096e3 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index 85f28f39af24e..195e7d557c8f4 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index 460ee093f305b..6a98fbfe31cf2 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index 7cab462394e11..6f980e39f5251 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index e95b52c7c244f..8017bc4c513fb 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index 8c3fb6850cb95..354751cf87fa9 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index eb426bcaba79e..3f081f6554ffb 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index 49c8f063f8e85..079004996788c 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 48326fcb14531..f486956b1bd0e 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 20246a63b2fda..038d3d256afcc 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index f7e47aceaa5d8..aa1dd8e4029ce 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index b4f83099a82e3..4887fd252eae0 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index c97a83e2a4f7c..e59e6ebda66d1 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index e1defde765930..e9bb1f10afc5b 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index e283143b1c9e6..534efad7ac54d 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index cd1ed4e1ae3c6..8f578aee6a096 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index 6ce1356fa6531..e670dee8e8a3a 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index 58f84c6c6b8a5..8fc83e4704fbb 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index 426ee9804e6bd..c5f70bf276486 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index a40d398aa75e2..1338efd0d183d 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 74e0173895b61..b5de22da4030e 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index e2098bf0cff02..53c62c318f591 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index e9ff3a531ff1b..c3dee7255e7d8 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 8bd2a0a66f841..8e982b3f2cd78 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 79e5777d0b021..7d2197aaa897a 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 7ae5e6ab1827e..0cc09b6460982 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 4cf9de783e1cb..0b4ae1c278dd1 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 29e0fe389034a..6833bf1ce3d93 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 953065aae5fe0..ddf2632a36bb0 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index bc1f0cceeae58..a48c0e74988fe 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 7afa74db5d8da..34ea200559bde 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 46134be6ad400..d827660be313c 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index e7e110038a130..aaaa841df69d8 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 2a80fe3482872..eff4ad99be5d5 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 14dc50ec51bf4..c70c0f986b975 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index a62c7030a00d2..ee2d43b18aa5e 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 7e28e9a4d322b..b4445f59aa88e 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 9f5852794430a..d7aa99c434fdd 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index a43a72a165881..8fba519f4211c 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 2f7a28bcca9ac..0affa2dac0ef5 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index fb88b69a01b1c..f15ccfc67ab9c 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 257f9d38d9e90..022cbe6a77a12 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index f96bf45a0263b..1bddd4a9175cc 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 3f6ef80b04d09..7423b56aa2492 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index e2494c484925a..e998b0a3004c0 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index 62eb2672f9c27..f12dca08b983f 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index 0378171610dcb..a64c8ea4ea796 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index 141f78735f1b5..afe7a0f90adf1 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index 275fee7af2303..2656f1dd4e815 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 7ff4e23d1da27..b696d62d43e3c 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index bffee930c8051..da89d97a29dc9 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index a68c974f1d405..0ae0bc54ca9b9 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 5e89af9eabac7..960803d77f5ec 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index b7f26f3ec2903..473a7d41ad14f 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 5b0c16a73152b..506228812f476 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 8688b219874c8..b52db8e1a7205 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index e2877b9552ceb..d03854aac3992 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index b6e081cc6a736..0ebcc03ff206b 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 451cd31cd5996..55fa11f532152 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 32f3640893098..0cd9c96168624 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index a3c52e411f77a..dffa92dfa40b4 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 25409f679ad5f..3cfe24b5a2b9e 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 8ccfceeddf4e6..6ed5de543f8a9 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.devdocs.json b/api_docs/maps.devdocs.json index e732667d42150..2912fb874ff47 100644 --- a/api_docs/maps.devdocs.json +++ b/api_docs/maps.devdocs.json @@ -3095,54 +3095,6 @@ ], "returnComment": [] }, - { - "parentPluginId": "maps", - "id": "def-public.IVectorSource.createField", - "type": "Function", - "tags": [], - "label": "createField", - "description": [], - "signature": [ - "({ fieldName }: { fieldName: string; }) => ", - { - "pluginId": "maps", - "scope": "public", - "docId": "kibMapsPluginApi", - "section": "def-public.IField", - "text": "IField" - } - ], - "path": "x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "maps", - "id": "def-public.IVectorSource.createField.$1", - "type": "Object", - "tags": [], - "label": "{ fieldName }", - "description": [], - "path": "x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "maps", - "id": "def-public.IVectorSource.createField.$1.fieldName", - "type": "string", - "tags": [], - "label": "fieldName", - "description": [], - "path": "x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx", - "deprecated": false, - "trackAdoption": false - } - ] - } - ], - "returnComment": [] - }, { "parentPluginId": "maps", "id": "def-public.IVectorSource.hasTooltipProperties", diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index faa9c48aa838a..d82995ab37f42 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 262 | 0 | 261 | 28 | +| 259 | 0 | 258 | 28 | ## Client diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index 2289ee7785b59..e7c35ae551778 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 5e1771d3df8bd..e6360c3694d83 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index c825cb956660b..dd955f501604f 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 37d9d39cbf00e..72a6163b39ff5 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index 4480c9f083529..f93621b8bcd27 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index 2d7b01467c5db..c48e3da752809 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index d2c175ae44c3d..7457075758ca2 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index b48fefcb206e6..058800e439409 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 2489775b841ae..f3d58438e7e44 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index f27a9bd1cfe11..42c960d9e25db 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 35fa1d82dc54b..a1e9999d0ad2e 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 1fa1a145ce13f..26769a22978f2 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 88c1929639562..65ef75ddaf21f 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index ec3b948caf653..f559cb24d3000 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 6b709b1457498..8fce8f3b02a4a 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -21,7 +21,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 74788 | 223 | 63851 | 1530 | +| 74806 | 223 | 63863 | 1530 | ## Plugin Directory @@ -29,7 +29,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] |--------------|----------------|-----------|--------------|----------|---------------|--------| | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 269 | 0 | 263 | 31 | | | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 17 | 1 | 15 | 2 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 61 | 1 | 3 | 1 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 66 | 1 | 4 | 1 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 793 | 1 | 762 | 49 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 29 | 0 | 29 | 119 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 9 | 0 | 9 | 0 | @@ -126,7 +126,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | Exposes the shared components and APIs to access and visualize logs. | 269 | 10 | 256 | 27 | | logstash | [@elastic/logstash](https://github.com/orgs/elastic/teams/logstash) | - | 0 | 0 | 0 | 0 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 47 | 0 | 47 | 7 | -| | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 262 | 0 | 261 | 28 | +| | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 259 | 0 | 258 | 28 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 67 | 0 | 67 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the machine learning features provided by Elastic. | 150 | 3 | 64 | 32 | | | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 15 | 3 | 13 | 1 | @@ -208,7 +208,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Registers the vega visualization. Is the elastic version of vega and vega-lite libraries. | 2 | 0 | 2 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the vislib visualizations. These are the classical area/line/bar, gauge/goal and heatmap charts. We want to replace them with elastic-charts. | 1 | 0 | 1 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the new xy-axis chart using the elastic-charts library, which will eventually replace the vislib xy-axis charts including bar, area, and line. | 52 | 0 | 50 | 5 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the shared architecture among all the legacy visualizations, e.g. the visualization type registry or the visualization embeddable. | 823 | 12 | 793 | 19 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Contains the shared architecture among all the legacy visualizations, e.g. the visualization type registry or the visualization embeddable. | 837 | 12 | 807 | 19 | | watcher | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | ## Package Directory @@ -490,7 +490,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 37 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 152 | 1 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 141 | 0 | 5 | 0 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 47 | 0 | 0 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 49 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 11 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 36 | 4 | 8 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 11 | 0 | 0 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index e4ff920b0c8d6..c67a3e2eb48a6 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 6a6a990f614b1..1585b393e8fb2 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 79326ba432d7a..f3f81c4db4787 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index ccc7a2726c35c..c7fab7c633cd4 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 4b22ef69d9458..c9751c70fcf21 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 9dc448dc57502..f5c44d29c668c 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 41d6c0a704b8f..ada92b12d2cd2 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index 43cec5adfb93a..906f17b83ea8f 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index f2276867e82bf..4ac4c465afa09 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index f0749afca0cb3..6681b2e7c0659 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index 3a6386cb22f4e..c1d7c3156ce42 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 245d1d7032fd6..7bf278ee69692 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index 4bae1c0a95f03..adbf1a44e030e 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index 129b5871103ee..e23d96c778ef8 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 8ecfc548b34a4..fb8c5b52438e3 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index 786531b718120..2891ae12dc009 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 6e2e6e30e7ea1..7f44e6c74461d 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index fd1c2715fd1f6..f4ab2f7dd0457 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index ed5161597c071..1580db0b601a0 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index 64c8cd2aeaa93..df67d3400c279 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 98e11bb21c91c..7de2691cf67d1 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index bc210ab3c6ce9..d2b5f949768b9 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 19608208fd71b..fc62a4fba6fc0 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 295391e8a034b..63f184e473b39 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 791df54b06f27..719645bb8ed8b 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index e74f26d598679..dac88da1f363d 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index 5f971d4f8c9e4..69ff7c2ca418e 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index 6cc3dec6ffe10..fe29475632f72 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 6fe4521717e3f..3785899ec39d8 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 888da9894e207..08c0ee81dd96d 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index 1642f2fb8d7df..85fe972cc9c69 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index d86425638a738..1c923213f1995 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index acb98267b441b..a0a229d425878 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index af8357713f14c..c461f62dc6774 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 167bf0fd570c2..50eac70271edd 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 26cd5c79d1dc5..bb62e8ac55691 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.devdocs.json b/api_docs/timelines.devdocs.json index a6c77777588d2..631be6552c1cb 100644 --- a/api_docs/timelines.devdocs.json +++ b/api_docs/timelines.devdocs.json @@ -4725,6 +4725,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/drag_and_drop/drag_drop_context_wrapper.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/flyout/shared/hooks/use_event_details.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/flyout/shared/hooks/use_event_details.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/flyout/right/context.tsx" diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index c2fbff2affc30..45c25410323dd 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index 92cb909761fa4..e7211500b750d 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index e8d467d363418..8cad829571754 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 62661096c057c..6ffc98a21a1ed 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index 482d62bbf6f76..88e1395458c24 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index fd4de8afb7c49..0421a2cc43973 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 7357d15dcff9d..c3de85536fad8 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 20509874fc91c..8d2a45d60378d 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index c17109be851c7..0b1205bf549e7 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index 7dfeea17d0844..bdd26971bd8bf 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 00b55be3b9d36..04ba8af801efe 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 24f9bd750a5bf..512ef831467d1 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index 6389bb834a1af..18551d40c26f4 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index b277a26fa2f95..309b891140656 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 5feee7e62166c..72a4f8bca4191 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index a0a65e0ff8b6c..8771fa90666d6 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index f635d9b5fcab3..f5cccf308d3cd 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index c74d6003d6b76..159256d4eafd4 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index bc0bbc7d21c85..730c543f5831c 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 7dc780b576f66..7e4c66fa61d8e 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index b5fe2abb212ff..ffbbdc47f42b1 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index a2d355e89a5d3..687b221d4b076 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index f924d3a80161e..70503945e3f7a 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.devdocs.json b/api_docs/visualizations.devdocs.json index 5b78f2be3fd99..af70fceb72ac9 100644 --- a/api_docs/visualizations.devdocs.json +++ b/api_docs/visualizations.devdocs.json @@ -3352,6 +3352,34 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "visualizations", + "id": "def-public.SerializableAttributes", + "type": "Interface", + "tags": [], + "label": "SerializableAttributes", + "description": [], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "visualizations", + "id": "def-public.SerializableAttributes.Unnamed", + "type": "IndexSignature", + "tags": [], + "label": "[key: string]: unknown", + "description": [], + "signature": [ + "[key: string]: unknown" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "visualizations", "id": "def-public.SerializedVis", @@ -5518,6 +5546,323 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient", + "type": "Interface", + "tags": [], + "label": "VisualizationClient", + "description": [], + "signature": [ + { + "pluginId": "visualizations", + "scope": "public", + "docId": "kibVisualizationsPluginApi", + "section": "def-public.VisualizationClient", + "text": "VisualizationClient" + }, + "" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.get", + "type": "Function", + "tags": [], + "label": "get", + "description": [], + "signature": [ + "(id: string) => Promise<{ item: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + "; meta: { outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }>" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.get.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.create", + "type": "Function", + "tags": [], + "label": "create", + "description": [], + "signature": [ + "(visualization: Omit<", + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.CreateIn", + "text": "CreateIn" + }, + ">, \"contentTypeId\">) => Promise<{ item: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + "; }>" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.create.$1", + "type": "Object", + "tags": [], + "label": "visualization", + "description": [], + "signature": [ + "Omit<", + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.CreateIn", + "text": "CreateIn" + }, + ">, \"contentTypeId\">" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.update", + "type": "Function", + "tags": [], + "label": "update", + "description": [], + "signature": [ + "(visualization: Omit<", + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.UpdateIn", + "text": "UpdateIn" + }, + ", Pick<", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SavedObjectUpdateOptions", + "text": "SavedObjectUpdateOptions" + }, + ", \"references\">>, \"contentTypeId\">) => Promise<{ item: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadataPartial", + "text": "SOWithMetadataPartial" + }, + "; }>" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.update.$1", + "type": "Object", + "tags": [], + "label": "visualization", + "description": [], + "signature": [ + "Omit<", + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.UpdateIn", + "text": "UpdateIn" + }, + ", Pick<", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SavedObjectUpdateOptions", + "text": "SavedObjectUpdateOptions" + }, + ", \"references\">>, \"contentTypeId\">" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.delete", + "type": "Function", + "tags": [], + "label": "delete", + "description": [], + "signature": [ + "(id: string) => Promise<", + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.DeleteResult", + "text": "DeleteResult" + }, + ">" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.delete.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.search", + "type": "Function", + "tags": [], + "label": "search", + "description": [], + "signature": [ + "(query: ", + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.SearchQuery", + "text": "SearchQuery" + }, + ", options?: object | undefined) => Promise<{ hits: ", + { + "pluginId": "@kbn/content-management-utils", + "scope": "common", + "docId": "kibKbnContentManagementUtilsPluginApi", + "section": "def-common.SOWithMetadata", + "text": "SOWithMetadata" + }, + "[]; pagination: { total: number; cursor?: string | undefined; }; }>" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.search.$1", + "type": "Object", + "tags": [], + "label": "query", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.SearchQuery", + "text": "SearchQuery" + } + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "visualizations", + "id": "def-public.VisualizationClient.search.$2", + "type": "Uncategorized", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "object | undefined" + ], + "path": "src/plugins/visualizations/public/vis_types/vis_type_alias_registry.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + }, { "parentPluginId": "visualizations", "id": "def-public.VisualizationListItem", diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 29d5001163434..c18450f48713f 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-13 +date: 2023-09-14 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 823 | 12 | 793 | 19 | +| 837 | 12 | 807 | 19 | ## Client From b525ef742194d5c9b50e192c1a7533f77bf42acd Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Thu, 14 Sep 2023 09:00:23 +0300 Subject: [PATCH 007/149] [ES|QL] Add to global navigation (#166065) ## Summary Closes https://github.com/elastic/kibana/issues/165707 Adds ESQL in the global search. It will navigate the users to Discover with ESQL mode on. The initial state will be created from the default dataview ![esql](https://github.com/elastic/kibana/assets/17003240/7e8820ea-f46a-417f-a332-fb694f2a9984) ### Checklist - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- src/plugins/discover/kibana.jsonc | 3 +- .../global_search/search_provider.test.ts | 113 ++++++++++++++++++ .../public/global_search/search_provider.ts | 88 ++++++++++++++ src/plugins/discover/public/plugin.tsx | 26 +++- src/plugins/discover/tsconfig.json | 3 +- 5 files changed, 230 insertions(+), 3 deletions(-) create mode 100644 src/plugins/discover/public/global_search/search_provider.test.ts create mode 100644 src/plugins/discover/public/global_search/search_provider.ts diff --git a/src/plugins/discover/kibana.jsonc b/src/plugins/discover/kibana.jsonc index 0778ebf666851..4a46dd14d689f 100644 --- a/src/plugins/discover/kibana.jsonc +++ b/src/plugins/discover/kibana.jsonc @@ -38,7 +38,8 @@ "savedObjectsTaggingOss", "lens", "serverless", - "noDataPage" + "noDataPage", + "globalSearch" ], "requiredBundles": ["kibanaUtils", "kibanaReact", "unifiedSearch"], "extraPublicDirs": ["common"] diff --git a/src/plugins/discover/public/global_search/search_provider.test.ts b/src/plugins/discover/public/global_search/search_provider.test.ts new file mode 100644 index 0000000000000..79ec890858c3f --- /dev/null +++ b/src/plugins/discover/public/global_search/search_provider.test.ts @@ -0,0 +1,113 @@ +/* + * 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 { NEVER, lastValueFrom } from 'rxjs'; +import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import type { ApplicationStart } from '@kbn/core/public'; +import { getESQLSearchProvider } from './search_provider'; +import { createDiscoverDataViewsMock } from '../__mocks__/data_views'; +import type { DiscoverAppLocator } from '../../common'; + +describe('ES|QL search provider', () => { + const uiCapabilitiesMock = new Promise((resolve) => { + resolve({ navLinks: { discover: true } } as unknown as ApplicationStart['capabilities']); + }); + const dataMock = new Promise((resolve) => { + resolve({ dataViews: createDiscoverDataViewsMock() } as unknown as DataPublicPluginStart); + }); + const locator = { + useUrl: jest.fn(() => ''), + navigate: jest.fn(), + getLocation: jest.fn(() => + Promise.resolve({ + app: 'discover', + path: '/test', + }) + ), + getRedirectUrl: jest.fn(() => ''), + } as unknown as DiscoverAppLocator; + test('returns score 100 if term is esql', async () => { + const esqlSearchProvider = getESQLSearchProvider(true, uiCapabilitiesMock, dataMock, locator); + const observable = esqlSearchProvider.find( + { term: 'esql' }, + { aborted$: NEVER, maxResults: 100, preference: '' } + ); + + await expect(lastValueFrom(observable)).resolves.toEqual([ + { + icon: 'logoKibana', + id: 'esql', + meta: { categoryId: 'kibana', categoryLabel: 'Analytics' }, + score: 100, + title: 'Create ES|QL queries', + type: 'application', + url: '/app/discover/test', + }, + ]); + }); + + test('returns score 90 if user tries to write es|ql', async () => { + const esqlSearchProvider = getESQLSearchProvider(true, uiCapabilitiesMock, dataMock, locator); + const observable = esqlSearchProvider.find( + { term: 'es|' }, + { aborted$: NEVER, maxResults: 100, preference: '' } + ); + + await expect(lastValueFrom(observable)).resolves.toEqual([ + { + icon: 'logoKibana', + id: 'esql', + meta: { categoryId: 'kibana', categoryLabel: 'Analytics' }, + score: 90, + title: 'Create ES|QL queries', + type: 'application', + url: '/app/discover/test', + }, + ]); + }); + + test('returns empty results if user tries to write something irrelevant', async () => { + const esqlSearchProvider = getESQLSearchProvider(true, uiCapabilitiesMock, dataMock, locator); + const observable = esqlSearchProvider.find( + { term: 'woof' }, + { aborted$: NEVER, maxResults: 100, preference: '' } + ); + + await expect(lastValueFrom(observable)).resolves.toEqual([]); + }); + + test('returns empty results if ESQL is disabled', async () => { + const esqlSearchProvider = getESQLSearchProvider(false, uiCapabilitiesMock, dataMock, locator); + const observable = esqlSearchProvider.find( + { term: 'esql' }, + { aborted$: NEVER, maxResults: 100, preference: '' } + ); + + await expect(lastValueFrom(observable)).resolves.toEqual([]); + }); + + test('returns empty results if no default dataview', async () => { + const dataViewMock = createDiscoverDataViewsMock(); + const updatedDataMock = new Promise((resolve) => { + resolve({ + dataViews: { ...dataViewMock, getDefaultDataView: jest.fn(() => undefined) }, + } as unknown as DataPublicPluginStart); + }); + const esqlSearchProvider = getESQLSearchProvider( + true, + uiCapabilitiesMock, + updatedDataMock, + locator + ); + const observable = esqlSearchProvider.find( + { term: 'woof' }, + { aborted$: NEVER, maxResults: 100, preference: '' } + ); + + await expect(lastValueFrom(observable)).resolves.toEqual([]); + }); +}); diff --git a/src/plugins/discover/public/global_search/search_provider.ts b/src/plugins/discover/public/global_search/search_provider.ts new file mode 100644 index 0000000000000..35362f519ab3d --- /dev/null +++ b/src/plugins/discover/public/global_search/search_provider.ts @@ -0,0 +1,88 @@ +/* + * 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 { ApplicationStart } from '@kbn/core/public'; +import { from, of } from 'rxjs'; +import { i18n } from '@kbn/i18n'; +import { DEFAULT_APP_CATEGORIES } from '@kbn/core/public'; +import type { GlobalSearchResultProvider } from '@kbn/global-search-plugin/public'; +import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import type { DiscoverAppLocator } from '../../common'; + +/** + * Global search provider adding an ES|QL and ESQL entry. + * This is necessary because ES|QL is part of the Discover application. + * + * It navigates to Discover with a default query extracted from the default dataview + */ +export const getESQLSearchProvider: ( + isESQLEnabled: boolean, + uiCapabilities: Promise, + data: Promise, + locator?: DiscoverAppLocator +) => GlobalSearchResultProvider = (isESQLEnabled, uiCapabilities, data, locator) => ({ + id: 'esql', + find: ({ term = '', types, tags }) => { + if (tags || (types && !types.includes('application')) || !locator || !isESQLEnabled) { + return of([]); + } + + return from( + Promise.all([uiCapabilities, data]).then(async ([{ navLinks }, { dataViews }]) => { + if (!navLinks.discover) { + return []; + } + const title = i18n.translate('discover.globalSearch.esqlSearchTitle', { + defaultMessage: 'Create ES|QL queries', + description: 'ES|QL is a product name and should not be translated', + }); + const defaultDataView = await dataViews.getDefaultDataView({ displayErrors: false }); + + if (!defaultDataView) { + return []; + } + + const params = { + query: { + esql: `from ${defaultDataView?.getIndexPattern()} | limit 10`, + }, + dataViewSpec: defaultDataView?.toSpec(), + }; + + const discoverLocation = await locator?.getLocation(params); + + term = term.toLowerCase(); + let score = 0; + + if (term === 'es|ql' || term === 'esql') { + score = 100; + } else if (term && ('es|ql'.includes(term) || 'esql'.includes(term))) { + score = 90; + } + + if (score === 0) return []; + + return [ + { + id: 'esql', + title, + type: 'application', + icon: 'logoKibana', + meta: { + categoryId: DEFAULT_APP_CATEGORIES.kibana.id, + categoryLabel: DEFAULT_APP_CATEGORIES.kibana.label, + }, + score, + url: `/app/${discoverLocation.app}${discoverLocation.path}`, + }, + ]; + }) + ); + }, + getSearchableTypes: () => ['application'], +}); diff --git a/src/plugins/discover/public/plugin.tsx b/src/plugins/discover/public/plugin.tsx index e00d9d29516c7..a1208f5c84eb7 100644 --- a/src/plugins/discover/public/plugin.tsx +++ b/src/plugins/discover/public/plugin.tsx @@ -20,6 +20,7 @@ import { UiActionsSetup, UiActionsStart } from '@kbn/ui-actions-plugin/public'; import { ExpressionsSetup, ExpressionsStart } from '@kbn/expressions-plugin/public'; import { EmbeddableSetup, EmbeddableStart } from '@kbn/embeddable-plugin/public'; import { ChartsPluginStart } from '@kbn/charts-plugin/public'; +import type { GlobalSearchPluginSetup } from '@kbn/global-search-plugin/public'; import { NavigationPublicPluginStart as NavigationStart } from '@kbn/navigation-plugin/public'; import { SharePluginStart, SharePluginSetup } from '@kbn/share-plugin/public'; import { UrlForwardingSetup, UrlForwardingStart } from '@kbn/url-forwarding-plugin/public'; @@ -43,7 +44,7 @@ import type { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/ import type { UnifiedDocViewerStart } from '@kbn/unified-doc-viewer-plugin/public'; import { setStateToKbnUrl } from '@kbn/kibana-utils-plugin/public'; import type { LensPublicStart } from '@kbn/lens-plugin/public'; -import { TRUNCATE_MAX_HEIGHT } from '@kbn/discover-utils'; +import { TRUNCATE_MAX_HEIGHT, ENABLE_ESQL } from '@kbn/discover-utils'; import type { ServerlessPluginStart } from '@kbn/serverless/public'; import { NoDataPagePluginStart } from '@kbn/no-data-page-plugin/public'; import { PLUGIN_ID } from '../common'; @@ -79,6 +80,7 @@ import { DiscoverContainerInternal, type DiscoverContainerProps, } from './components/discover_container'; +import { getESQLSearchProvider } from './global_search/search_provider'; /** * @public @@ -164,6 +166,7 @@ export interface DiscoverSetupPlugins { home?: HomePublicPluginSetup; data: DataPublicPluginSetup; expressions: ExpressionsSetup; + globalSearch?: GlobalSearchPluginSetup; } /** @@ -233,6 +236,27 @@ export class DiscoverPlugin ); } + if (plugins.globalSearch) { + const enableESQL = core.uiSettings.get(ENABLE_ESQL); + plugins.globalSearch.registerResultProvider( + getESQLSearchProvider( + enableESQL, + core.getStartServices().then( + ([ + { + application: { capabilities }, + }, + ]) => capabilities + ), + core.getStartServices().then((deps) => { + const { data } = deps[1]; + return data; + }), + this.locator + ) + ); + } + const { setTrackedUrl, restorePreviousUrl, diff --git a/src/plugins/discover/tsconfig.json b/src/plugins/discover/tsconfig.json index 3328073a026e7..f7b1e45e9a608 100644 --- a/src/plugins/discover/tsconfig.json +++ b/src/plugins/discover/tsconfig.json @@ -71,7 +71,8 @@ "@kbn/react-kibana-mount", "@kbn/react-kibana-context-render", "@kbn/unified-data-table", - "@kbn/no-data-page-plugin" + "@kbn/no-data-page-plugin", + "@kbn/global-search-plugin" ], "exclude": [ "target/**/*" From d2a53082b7e144ea1b765e06223da0ad38eb2fea Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Thu, 14 Sep 2023 09:01:22 +0300 Subject: [PATCH 008/149] [ES|QL] Add a progress bar in case text based data change (#165830) ## Summary This PR adds a progress bar when the suggestion chart changes due to changes in the query. For time consuming queries this might take some time and the old suggestion will be visible until the data being fetched. ![esql](https://github.com/elastic/kibana/assets/17003240/9efb65fd-ec18-42c0-893c-e48bff5691a4) ### Checklist - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../layout/use_discover_histogram.test.tsx | 26 +++++++++++++++++++ .../layout/use_discover_histogram.ts | 22 ++++++++++++++++ .../public/chart/chart.test.tsx | 8 ++++++ .../unified_histogram/public/chart/chart.tsx | 11 ++++++++ .../public/container/container.tsx | 5 ++-- .../container/services/state_service.ts | 1 - .../public/layout/layout.test.tsx | 1 + .../public/layout/layout.tsx | 7 ++++- 8 files changed, 77 insertions(+), 4 deletions(-) diff --git a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx index 53e35d207507c..ae73126afde88 100644 --- a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx +++ b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.test.tsx @@ -173,6 +173,12 @@ describe('useDiscoverHistogram', () => { 'totalHitsResult', ]); }); + + it('should return the isChartLoading params for text based languages', async () => { + const { hook } = await renderUseDiscoverHistogram({ isPlainRecord: true }); + const isChartLoading = hook.result.current.isChartLoading; + expect(isChartLoading).toBe(false); + }); }); describe('state', () => { @@ -390,6 +396,26 @@ describe('useDiscoverHistogram', () => { }); expect(mockCheckHitCount).not.toHaveBeenCalled(); }); + + it('should set isChartLoading to true for fetch start', async () => { + const fetch$ = new Subject<{ + options: { + reset: boolean; + fetchMore: boolean; + }; + searchSessionId: string; + }>(); + const stateContainer = getStateContainer(); + stateContainer.dataState.fetch$ = fetch$; + const { hook } = await renderUseDiscoverHistogram({ stateContainer, isPlainRecord: true }); + act(() => { + fetch$.next({ + options: { reset: false, fetchMore: false }, + searchSessionId: '1234', + }); + }); + expect(hook.result.current.isChartLoading).toBe(true); + }); }); describe('refetching', () => { diff --git a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.ts b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.ts index 68d821580f5a4..764145d72aac1 100644 --- a/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.ts +++ b/src/plugins/discover/public/application/main/components/layout/use_discover_histogram.ts @@ -59,6 +59,7 @@ export const useDiscoverHistogram = ({ */ const [unifiedHistogram, ref] = useState(); + const [isSuggestionLoading, setIsSuggestionLoading] = useState(false); const getCreationOptions = useCallback(() => { const { @@ -243,6 +244,26 @@ export const useDiscoverHistogram = ({ columns: savedSearchData$.documents$.getValue().textBasedQueryColumns ?? [], }); + useEffect(() => { + if (!isPlainRecord) { + return; + } + + const fetchStart = stateContainer.dataState.fetch$.subscribe(() => { + if (!skipRefetch.current) { + setIsSuggestionLoading(true); + } + }); + const fetchComplete = textBasedFetchComplete$.subscribe(() => { + setIsSuggestionLoading(false); + }); + + return () => { + fetchStart.unsubscribe(); + fetchComplete.unsubscribe(); + }; + }, [isPlainRecord, stateContainer.dataState.fetch$, textBasedFetchComplete$]); + /** * Data fetching */ @@ -319,6 +340,7 @@ export const useDiscoverHistogram = ({ onBrushEnd: histogramCustomization?.onBrushEnd, withDefaultActions: histogramCustomization?.withDefaultActions, disabledActions: histogramCustomization?.disabledActions, + isChartLoading: isSuggestionLoading, }; }; diff --git a/src/plugins/unified_histogram/public/chart/chart.test.tsx b/src/plugins/unified_histogram/public/chart/chart.test.tsx index 3ce4f829ebac3..d561a3310ceae 100644 --- a/src/plugins/unified_histogram/public/chart/chart.test.tsx +++ b/src/plugins/unified_histogram/public/chart/chart.test.tsx @@ -43,6 +43,7 @@ async function mountComponent({ allSuggestions, isPlainRecord, hasDashboardPermissions, + isChartLoading, }: { noChart?: boolean; noHits?: boolean; @@ -54,6 +55,7 @@ async function mountComponent({ allSuggestions?: Suggestion[]; isPlainRecord?: boolean; hasDashboardPermissions?: boolean; + isChartLoading?: boolean; } = {}) { (searchSourceInstanceMock.fetch$ as jest.Mock).mockImplementation( jest.fn().mockReturnValue(of({ rawResponse: { hits: { total: noHits ? 0 : 2 } } })) @@ -98,6 +100,7 @@ async function mountComponent({ breakdown: noBreakdown ? undefined : { field: undefined }, currentSuggestion, allSuggestions, + isChartLoading: Boolean(isChartLoading), isPlainRecord, appendHistogram, onResetChartHeight: jest.fn(), @@ -173,6 +176,11 @@ describe('Chart', () => { expect(component.find('[data-test-subj="unifiedHistogramChart"]').exists()).toBeTruthy(); }); + test('render progress bar when text based and request is loading', async () => { + const component = await mountComponent({ isPlainRecord: true, isChartLoading: true }); + expect(component.find('[data-test-subj="unifiedHistogramProgressBar"]').exists()).toBeTruthy(); + }); + test('triggers onEditVisualization on click', async () => { expect(mockUseEditVisualization).not.toHaveBeenCalled(); const component = await mountComponent(); diff --git a/src/plugins/unified_histogram/public/chart/chart.tsx b/src/plugins/unified_histogram/public/chart/chart.tsx index 0172b1b6107c1..56b6ed223df2b 100644 --- a/src/plugins/unified_histogram/public/chart/chart.tsx +++ b/src/plugins/unified_histogram/public/chart/chart.tsx @@ -14,6 +14,7 @@ import { EuiFlexItem, EuiPopover, EuiToolTip, + EuiProgress, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import type { EmbeddableComponentProps, Suggestion } from '@kbn/lens-plugin/public'; @@ -70,6 +71,7 @@ export interface ChartProps { input$?: UnifiedHistogramInput$; lensTablesAdapter?: Record; isOnHistogramMode?: boolean; + isChartLoading?: boolean; onResetChartHeight?: () => void; onChartHiddenChange?: (chartHidden: boolean) => void; onTimeIntervalChange?: (timeInterval: string) => void; @@ -107,6 +109,7 @@ export function Chart({ input$: originalInput$, lensTablesAdapter, isOnHistogramMode, + isChartLoading, onResetChartHeight, onChartHiddenChange, onTimeIntervalChange, @@ -416,6 +419,14 @@ export function Chart({ })} css={histogramCss} > + {isChartLoading && ( + + )} ; searchSessionId?: UnifiedHistogramRequestContext['searchSessionId']; requestAdapter?: UnifiedHistogramRequestContext['adapter']; + isChartLoading?: boolean; } & Pick< UnifiedHistogramLayoutProps, | 'services' @@ -124,8 +125,7 @@ export const UnifiedHistogramContainer = forwardRef< ), }); }, [input$, stateService]); - - const { dataView, query, searchSessionId, requestAdapter } = containerProps; + const { dataView, query, searchSessionId, requestAdapter, isChartLoading } = containerProps; const currentSuggestion = useStateSelector(stateService?.state$, currentSuggestionSelector); const topPanelHeight = useStateSelector(stateService?.state$, topPanelHeightSelector); const stateProps = useStateProps({ @@ -147,6 +147,7 @@ export const UnifiedHistogramContainer = forwardRef< {...layoutProps} {...stateProps} currentSuggestion={currentSuggestion} + isChartLoading={Boolean(isChartLoading)} topPanelHeight={topPanelHeight} input$={input$} lensSuggestionsApi={lensSuggestionsApi} diff --git a/src/plugins/unified_histogram/public/container/services/state_service.ts b/src/plugins/unified_histogram/public/container/services/state_service.ts index 1fd0905d86c7a..4cb2950763094 100644 --- a/src/plugins/unified_histogram/public/container/services/state_service.ts +++ b/src/plugins/unified_histogram/public/container/services/state_service.ts @@ -190,7 +190,6 @@ export const createStateService = ( setCurrentSuggestion: (suggestion: Suggestion | undefined) => { updateState({ currentSuggestion: suggestion }); }, - setTimeInterval: (timeInterval: string) => { updateState({ timeInterval }); }, diff --git a/src/plugins/unified_histogram/public/layout/layout.test.tsx b/src/plugins/unified_histogram/public/layout/layout.test.tsx index ee51ad99b4053..f75fa0b1d4b9c 100644 --- a/src/plugins/unified_histogram/public/layout/layout.test.tsx +++ b/src/plugins/unified_histogram/public/layout/layout.test.tsx @@ -77,6 +77,7 @@ describe('Layout', () => { to: '2020-05-14T11:20:13.590', }} lensSuggestionsApi={jest.fn()} + isChartLoading={false} {...rest} /> ); diff --git a/src/plugins/unified_histogram/public/layout/layout.tsx b/src/plugins/unified_histogram/public/layout/layout.tsx index 95661ed9b3f2f..e3c80679c5c3f 100644 --- a/src/plugins/unified_histogram/public/layout/layout.tsx +++ b/src/plugins/unified_histogram/public/layout/layout.tsx @@ -120,6 +120,10 @@ export interface UnifiedHistogramLayoutProps extends PropsWithChildren * Input observable */ input$?: UnifiedHistogramInput$; + /** + * Flag indicating that the chart is currently loading + */ + isChartLoading: boolean; /** * The Lens suggestions API */ @@ -174,6 +178,7 @@ export const UnifiedHistogramLayout = ({ query, filters, currentSuggestion: originalSuggestion, + isChartLoading, isPlainRecord, timeRange, relativeTimeRange, @@ -217,7 +222,6 @@ export const UnifiedHistogramLayout = ({ }); const chart = suggestionUnsupported ? undefined : originalChart; - const topPanelNode = useMemo( () => createHtmlPortalNode({ attributes: { class: 'eui-fullHeight' } }), [] @@ -270,6 +274,7 @@ export const UnifiedHistogramLayout = ({ request={request} hits={hits} currentSuggestion={currentSuggestion} + isChartLoading={isChartLoading} allSuggestions={allSuggestions} isPlainRecord={isPlainRecord} chart={chart} From de8e1ccee2ab6d19806f2689f2a9fefef1823889 Mon Sep 17 00:00:00 2001 From: James Gowdy Date: Thu, 14 Sep 2023 08:26:27 +0100 Subject: [PATCH 009/149] [ML] Fixing ML settings in setup (#166421) Moving when settings are registered to fix crash in kibana starting up. --- .../ml/server/lib/register_settings.ts | 82 +++++++++---------- x-pack/plugins/ml/server/plugin.ts | 7 +- 2 files changed, 39 insertions(+), 50 deletions(-) diff --git a/x-pack/plugins/ml/server/lib/register_settings.ts b/x-pack/plugins/ml/server/lib/register_settings.ts index 4bd3f0a35bb0a..fae6e810b187e 100644 --- a/x-pack/plugins/ml/server/lib/register_settings.ts +++ b/x-pack/plugins/ml/server/lib/register_settings.ts @@ -14,49 +14,43 @@ import { DEFAULT_AD_RESULTS_TIME_FILTER, DEFAULT_ENABLE_AD_RESULTS_TIME_FILTER, } from '../../common/constants/settings'; -import type { MlFeatures } from '../types'; -export function registerKibanaSettings(enabledFeatures: MlFeatures, coreSetup: CoreSetup) { - if (enabledFeatures.ad === true) { - coreSetup.uiSettings.register({ - [ANOMALY_DETECTION_ENABLE_TIME_RANGE]: { - name: i18n.translate( - 'xpack.ml.advancedSettings.enableAnomalyDetectionDefaultTimeRangeName', - { - defaultMessage: 'Enable time filter defaults for anomaly detection results', - } - ), - value: DEFAULT_ENABLE_AD_RESULTS_TIME_FILTER, - schema: schema.boolean(), - description: i18n.translate( - 'xpack.ml.advancedSettings.enableAnomalyDetectionDefaultTimeRangeDesc', - { - defaultMessage: - 'Use the default time filter in the Single Metric Viewer and Anomaly Explorer. If not enabled, the results for the full time range of the job are displayed.', - } - ), - category: ['machineLearning'], - }, - [ANOMALY_DETECTION_DEFAULT_TIME_RANGE]: { - name: i18n.translate('xpack.ml.advancedSettings.anomalyDetectionDefaultTimeRangeName', { - defaultMessage: 'Time filter defaults for anomaly detection results', - }), - type: 'json', - value: JSON.stringify(DEFAULT_AD_RESULTS_TIME_FILTER, null, 2), - description: i18n.translate( - 'xpack.ml.advancedSettings.anomalyDetectionDefaultTimeRangeDesc', - { - defaultMessage: - 'The time filter selection to use when viewing anomaly detection job results.', - } - ), - schema: schema.object({ - from: schema.string(), - to: schema.string(), - }), - requiresPageReload: true, - category: ['machineLearning'], - }, - }); - } +export function registerKibanaSettings(coreSetup: CoreSetup) { + coreSetup.uiSettings.register({ + [ANOMALY_DETECTION_ENABLE_TIME_RANGE]: { + name: i18n.translate('xpack.ml.advancedSettings.enableAnomalyDetectionDefaultTimeRangeName', { + defaultMessage: 'Enable time filter defaults for anomaly detection results', + }), + value: DEFAULT_ENABLE_AD_RESULTS_TIME_FILTER, + schema: schema.boolean(), + description: i18n.translate( + 'xpack.ml.advancedSettings.enableAnomalyDetectionDefaultTimeRangeDesc', + { + defaultMessage: + 'Use the default time filter in the Single Metric Viewer and Anomaly Explorer. If not enabled, the results for the full time range of the job are displayed.', + } + ), + category: ['machineLearning'], + }, + [ANOMALY_DETECTION_DEFAULT_TIME_RANGE]: { + name: i18n.translate('xpack.ml.advancedSettings.anomalyDetectionDefaultTimeRangeName', { + defaultMessage: 'Time filter defaults for anomaly detection results', + }), + type: 'json', + value: JSON.stringify(DEFAULT_AD_RESULTS_TIME_FILTER, null, 2), + description: i18n.translate( + 'xpack.ml.advancedSettings.anomalyDetectionDefaultTimeRangeDesc', + { + defaultMessage: + 'The time filter selection to use when viewing anomaly detection job results.', + } + ), + schema: schema.object({ + from: schema.string(), + to: schema.string(), + }), + requiresPageReload: true, + category: ['machineLearning'], + }, + }); } diff --git a/x-pack/plugins/ml/server/plugin.ts b/x-pack/plugins/ml/server/plugin.ts index a0982e4721b06..0a0d3dfcaf7ee 100644 --- a/x-pack/plugins/ml/server/plugin.ts +++ b/x-pack/plugins/ml/server/plugin.ts @@ -102,7 +102,6 @@ export class MlServerPlugin private isServerless: boolean = false; private registerCases: () => void = () => {}; private registerSampleDatasetsIntegration: () => void = () => {}; - private registerKibanaSettings: () => void = () => {}; constructor(ctx: PluginInitializerContext) { this.log = ctx.logger.get(); @@ -280,10 +279,7 @@ export class MlServerPlugin } }; - this.registerKibanaSettings = () => { - // called in start once enabledFeatures is available - registerKibanaSettings(this.enabledFeatures, coreSetup); - }; + registerKibanaSettings(coreSetup); if (plugins.usageCollection) { const getIndexForType = (type: string) => @@ -329,7 +325,6 @@ export class MlServerPlugin if (mlLicense.isMlEnabled() && mlLicense.isFullLicense()) { this.registerCases(); this.registerSampleDatasetsIntegration(); - this.registerKibanaSettings(); } // check whether the job saved objects exist // and create them if needed. From dcce011f91894d24e09ba650d28f8d5bbd77aa69 Mon Sep 17 00:00:00 2001 From: Miriam <31922082+MiriamAparicio@users.noreply.github.com> Date: Thu, 14 Sep 2023 08:29:54 +0100 Subject: [PATCH 010/149] [APM] Add telemetry for top traces (#166263) Closes https://github.com/elastic/kibana/issues/161985 --- .../__snapshots__/apm_telemetry.test.ts.snap | 30 +++++++++++ .../collect_data_telemetry/tasks.test.ts | 52 +++++++++++++++++++ .../collect_data_telemetry/tasks.ts | 45 ++++++++++++++++ .../apm/server/lib/apm_telemetry/schema.ts | 27 ++++++++++ .../apm/server/lib/apm_telemetry/types.ts | 7 ++- .../schema/xpack_plugins.json | 30 +++++++++++ 6 files changed, 190 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/apm/common/__snapshots__/apm_telemetry.test.ts.snap b/x-pack/plugins/apm/common/__snapshots__/apm_telemetry.test.ts.snap index c389d411462d7..d84aa51a0e365 100644 --- a/x-pack/plugins/apm/common/__snapshots__/apm_telemetry.test.ts.snap +++ b/x-pack/plugins/apm/common/__snapshots__/apm_telemetry.test.ts.snap @@ -1957,6 +1957,22 @@ exports[`APM telemetry helpers getApmTelemetry generates a JSON object with the } } }, + "top_traces": { + "properties": { + "max": { + "type": "long", + "_meta": { + "description": "Max number of documents in top 100 traces withing the last day" + } + }, + "median": { + "type": "long", + "_meta": { + "description": "Median number of documents in top 100 traces within the last day" + } + } + } + }, "tasks": { "properties": { "aggregated_transactions": { @@ -2168,6 +2184,20 @@ exports[`APM telemetry helpers getApmTelemetry generates a JSON object with the } } } + }, + "top_traces": { + "properties": { + "took": { + "properties": { + "ms": { + "type": "long", + "_meta": { + "description": "Execution time in milliseconds for the \\"top_traces\\" task" + } + } + } + } + } } } } diff --git a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts index fb061eec49baf..ba9d06b78bfae 100644 --- a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts +++ b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.test.ts @@ -590,4 +590,56 @@ describe('data telemetry collection tasks', () => { }); }); }); + + describe('top_traces', () => { + const task = tasks.find((t) => t.name === 'top_traces'); + + it('returns max and median number of documents in top traces', async () => { + const search = jest.fn().mockResolvedValueOnce({ + aggregations: { + top_traces: { + buckets: [ + { + key: '521485', + doc_count: 1026, + }, + { + key: '594439', + doc_count: 1025, + }, + { + key: '070251', + doc_count: 1023, + }, + { + key: '108079', + doc_count: 1023, + }, + { + key: '118887', + doc_count: 1023, + }, + ], + }, + max: { + value: 1026, + }, + median: { + values: { + '50.0': 1023, + }, + }, + }, + }); + + expect( + await task?.executor({ indices, telemetryClient: { search } } as any) + ).toEqual({ + top_traces: { + max: 1026, + median: 1023, + }, + }); + }); + }); }); diff --git a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts index beb84481e84b7..aad51e5ed1c5d 100644 --- a/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts +++ b/x-pack/plugins/apm/server/lib/apm_telemetry/collect_data_telemetry/tasks.ts @@ -39,6 +39,7 @@ import { SERVICE_RUNTIME_NAME, SERVICE_RUNTIME_VERSION, SERVICE_VERSION, + TRACE_ID, TRANSACTION_NAME, TRANSACTION_RESULT, TRANSACTION_TYPE, @@ -1484,4 +1485,48 @@ export const tasks: TelemetryTask[] = [ }; }, }, + { + name: 'top_traces', + executor: async ({ indices, telemetryClient }) => { + const response = await telemetryClient.search({ + index: [indices.transaction, indices.span, indices.error], + body: { + size: 0, + track_total_hits: false, + timeout, + query: { + bool: { + filter: [range1d], + }, + }, + aggs: { + top_traces: { + terms: { + field: TRACE_ID, + size: 100, + }, + }, + max: { + max_bucket: { + buckets_path: 'top_traces>_count', + }, + }, + median: { + percentiles_bucket: { + buckets_path: 'top_traces>_count', + percents: [50], + }, + }, + }, + }, + }); + + return { + top_traces: { + max: response.aggregations?.max.value ?? 0, + median: response.aggregations?.median.values['50.0'] ?? 0, + }, + }; + }, + }, ]; diff --git a/x-pack/plugins/apm/server/lib/apm_telemetry/schema.ts b/x-pack/plugins/apm/server/lib/apm_telemetry/schema.ts index e43fda17a951c..1c41229b47bca 100644 --- a/x-pack/plugins/apm/server/lib/apm_telemetry/schema.ts +++ b/x-pack/plugins/apm/server/lib/apm_telemetry/schema.ts @@ -1006,6 +1006,22 @@ export const apmSchema: MakeSchemaFrom = { }, }, per_service: { type: 'array', items: { ...apmPerServiceSchema } }, + top_traces: { + max: { + type: 'long', + _meta: { + description: + 'Max number of documents in top 100 traces withing the last day', + }, + }, + median: { + type: 'long', + _meta: { + description: + 'Median number of documents in top 100 traces within the last day', + }, + }, + }, tasks: { aggregated_transactions: { took: { @@ -1169,5 +1185,16 @@ export const apmSchema: MakeSchemaFrom = { }, }, }, + top_traces: { + took: { + ms: { + type: 'long', + _meta: { + description: + 'Execution time in milliseconds for the "top_traces" task', + }, + }, + }, + }, }, }; diff --git a/x-pack/plugins/apm/server/lib/apm_telemetry/types.ts b/x-pack/plugins/apm/server/lib/apm_telemetry/types.ts index 9c6c312c284f4..d5c16a6b3692a 100644 --- a/x-pack/plugins/apm/server/lib/apm_telemetry/types.ts +++ b/x-pack/plugins/apm/server/lib/apm_telemetry/types.ts @@ -211,6 +211,10 @@ export interface APMUsage { total: number; }; per_service: APMPerService[]; + top_traces: { + max: number; + median: number; + }; tasks: Record< | 'aggregated_transactions' | 'cloud' @@ -226,7 +230,8 @@ export interface APMUsage { | 'cardinality' | 'environments' | 'service_groups' - | 'per_service', + | 'per_service' + | 'top_traces', { took: { ms: number } } >; } 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 c643f616e5eb3..000d54ade631c 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -5067,6 +5067,22 @@ } } }, + "top_traces": { + "properties": { + "max": { + "type": "long", + "_meta": { + "description": "Max number of documents in top 100 traces withing the last day" + } + }, + "median": { + "type": "long", + "_meta": { + "description": "Median number of documents in top 100 traces within the last day" + } + } + } + }, "tasks": { "properties": { "aggregated_transactions": { @@ -5278,6 +5294,20 @@ } } } + }, + "top_traces": { + "properties": { + "took": { + "properties": { + "ms": { + "type": "long", + "_meta": { + "description": "Execution time in milliseconds for the \"top_traces\" task" + } + } + } + } + } } } } From 87dc64e0bff3e1cceb95557ba1bcd974c733c371 Mon Sep 17 00:00:00 2001 From: Stratoula Kalafateli Date: Thu, 14 Sep 2023 10:55:09 +0300 Subject: [PATCH 011/149] [ES|QL] Enable ESQL alerts from the Discover app (#165973) ## Summary Enables the Alerts menu in Discover nav for the ES|QL mode and defaults to ESQL alerts by carrying the query that the user has typed. image ### Checklist - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../src/__mocks__/data_view.ts | 4 ++ .../__mocks__/data_view_no_timefield.ts | 54 +++++++++++++++++++ .../components/top_nav/get_top_nav_links.tsx | 2 +- .../top_nav/open_alerts_popover.test.tsx | 48 +++++++++++++---- .../top_nav/open_alerts_popover.tsx | 27 +++++++++- .../view_alert/view_alert_route.tsx | 17 ++++-- .../view_alert/view_alert_utils.tsx | 33 +++++++++--- .../apps/discover/group2/_esql_view.ts | 2 +- .../expression/esql_query_expression.test.tsx | 2 + .../expression/esql_query_expression.tsx | 5 ++ 10 files changed, 170 insertions(+), 24 deletions(-) create mode 100644 src/plugins/discover/public/__mocks__/data_view_no_timefield.ts diff --git a/packages/kbn-discover-utils/src/__mocks__/data_view.ts b/packages/kbn-discover-utils/src/__mocks__/data_view.ts index 9175fe655b974..66e2803cdd239 100644 --- a/packages/kbn-discover-utils/src/__mocks__/data_view.ts +++ b/packages/kbn-discover-utils/src/__mocks__/data_view.ts @@ -92,6 +92,10 @@ export const buildDataViewMock = ({ return dataViewFields.find((field) => field.name === fieldName); }; + dataViewFields.getByType = (type: string) => { + return dataViewFields.filter((field) => field.type === type); + }; + dataViewFields.getAll = () => { return dataViewFields; }; diff --git a/src/plugins/discover/public/__mocks__/data_view_no_timefield.ts b/src/plugins/discover/public/__mocks__/data_view_no_timefield.ts new file mode 100644 index 0000000000000..ebfc810f1de28 --- /dev/null +++ b/src/plugins/discover/public/__mocks__/data_view_no_timefield.ts @@ -0,0 +1,54 @@ +/* + * 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 { DataView } from '@kbn/data-views-plugin/public'; +import { buildDataViewMock } from '@kbn/discover-utils/src/__mocks__'; + +const fields = [ + { + name: '_index', + type: 'string', + scripted: false, + filterable: true, + }, + { + name: 'message', + displayName: 'message', + type: 'string', + scripted: false, + filterable: false, + }, + { + name: 'extension', + displayName: 'extension', + type: 'string', + scripted: false, + filterable: true, + aggregatable: true, + }, + { + name: 'bytes', + displayName: 'bytes', + type: 'number', + scripted: false, + filterable: true, + aggregatable: true, + }, + { + name: 'scripted', + displayName: 'scripted', + type: 'number', + scripted: true, + filterable: false, + }, +] as DataView['fields']; + +export const dataViewWithNoTimefieldMock = buildDataViewMock({ + name: 'index-pattern-with-timefield', + fields, +}); diff --git a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx index 2b406e6a45682..ef2a6fb9ad28b 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/get_top_nav_links.tsx @@ -53,6 +53,7 @@ export const getTopNavLinks = ({ services, stateContainer: state, adHocDataViews, + isPlainRecord, }); }, testId: 'discoverAlertsButton', @@ -232,7 +233,6 @@ export const getTopNavLinks = ({ if ( services.triggersActionsUi && services.capabilities.management?.insightsAndAlerting?.triggersActions && - !isPlainRecord && !defaultMenu?.alertsItem?.disabled ) { entries.push({ data: alerts, order: defaultMenu?.alertsItem?.order ?? 400 }); diff --git a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx index 03e5712df5e2e..bea933950200d 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.test.tsx @@ -13,10 +13,11 @@ import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { AlertsPopover } from './open_alerts_popover'; import { discoverServiceMock } from '../../../../__mocks__/services'; import { dataViewWithTimefieldMock } from '../../../../__mocks__/data_view_with_timefield'; +import { dataViewWithNoTimefieldMock } from '../../../../__mocks__/data_view_no_timefield'; import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; import { getDiscoverStateMock } from '../../../../__mocks__/discover_state.mock'; -const mount = (dataView = dataViewMock) => { +const mount = (dataView = dataViewMock, isPlainRecord = false) => { const stateContainer = getDiscoverStateMock({ isTimeBased: true }); stateContainer.actions.setDataView(dataView); return mountWithIntl( @@ -25,6 +26,7 @@ const mount = (dataView = dataViewMock) => { stateContainer={stateContainer} anchorElement={document.createElement('div')} adHocDataViews={[]} + isPlainRecord={isPlainRecord} services={discoverServiceMock} onClose={jest.fn()} /> @@ -33,18 +35,42 @@ const mount = (dataView = dataViewMock) => { }; describe('OpenAlertsPopover', () => { - it('should render with the create search threshold rule button disabled if the data view has no time field', () => { - const component = mount(); - expect(findTestSubject(component, 'discoverCreateAlertButton').prop('disabled')).toBeTruthy(); - }); + describe('Dataview mode', () => { + it('should render with the create search threshold rule button disabled if the data view has no time field', () => { + const component = mount(); + expect(findTestSubject(component, 'discoverCreateAlertButton').prop('disabled')).toBeTruthy(); + }); + + it('should render with the create search threshold rule button enabled if the data view has a time field', () => { + const component = mount(dataViewWithTimefieldMock); + expect(findTestSubject(component, 'discoverCreateAlertButton').prop('disabled')).toBeFalsy(); + }); - it('should render with the create search threshold rule button enabled if the data view has a time field', () => { - const component = mount(dataViewWithTimefieldMock); - expect(findTestSubject(component, 'discoverCreateAlertButton').prop('disabled')).toBeFalsy(); + it('should render the manage rules and connectors link', () => { + const component = mount(); + expect(findTestSubject(component, 'discoverManageAlertsButton').exists()).toBeTruthy(); + }); }); - it('should render the manage rules and connectors link', () => { - const component = mount(); - expect(findTestSubject(component, 'discoverManageAlertsButton').exists()).toBeTruthy(); + describe('ES|QL mode', () => { + it('should render with the create search threshold rule button enabled if the data view has no timeFieldName but at least one time field', () => { + const component = mount(dataViewMock, true); + expect(findTestSubject(component, 'discoverCreateAlertButton').prop('disabled')).toBeFalsy(); + }); + + it('should render with the create search threshold rule button enabled if the data view has a time field', () => { + const component = mount(dataViewWithTimefieldMock, true); + expect(findTestSubject(component, 'discoverCreateAlertButton').prop('disabled')).toBeFalsy(); + }); + + it('should render with the create search threshold rule button disabled if the data view has no time fields at all', () => { + const component = mount(dataViewWithNoTimefieldMock, true); + expect(findTestSubject(component, 'discoverCreateAlertButton').prop('disabled')).toBeTruthy(); + }); + + it('should render the manage rules and connectors link', () => { + const component = mount(); + expect(findTestSubject(component, 'discoverManageAlertsButton').exists()).toBeTruthy(); + }); }); }); diff --git a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx index 75202710945dd..2993193ccc2bf 100644 --- a/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx +++ b/src/plugins/discover/public/application/main/components/top_nav/open_alerts_popover.tsx @@ -28,6 +28,7 @@ interface AlertsPopoverProps { savedQueryId?: string; adHocDataViews: DataView[]; services: DiscoverServices; + isPlainRecord?: boolean; } interface EsQueryAlertMetaData { @@ -41,8 +42,13 @@ export function AlertsPopover({ services, stateContainer, onClose: originalOnClose, + isPlainRecord, }: AlertsPopoverProps) { const dataView = stateContainer.internalState.getState().dataView; + const query = stateContainer.appState.getState().query; + const dateFields = dataView?.fields.getByType('date'); + const timeField = dataView?.timeFieldName || dateFields?.[0]?.name; + const { triggersActionsUi } = services; const [alertFlyoutVisible, setAlertFlyoutVisibility] = useState(false); const onClose = useCallback(() => { @@ -54,6 +60,13 @@ export function AlertsPopover({ * Provides the default parameters used to initialize the new rule */ const getParams = useCallback(() => { + if (isPlainRecord) { + return { + searchType: 'esqlQuery', + esqlQuery: query, + timeField, + }; + } const savedQueryId = stateContainer.appState.getState().savedQuery; return { searchType: 'searchSource', @@ -62,7 +75,7 @@ export function AlertsPopover({ .searchSource.getSerializedFields(), savedQueryId, }; - }, [stateContainer]); + }, [isPlainRecord, stateContainer.appState, stateContainer.savedSearchState, query, timeField]); const discoverMetadata: EsQueryAlertMetaData = useMemo( () => ({ @@ -98,7 +111,14 @@ export function AlertsPopover({ }); }, [alertFlyoutVisible, triggersActionsUi, discoverMetadata, getParams, onClose, stateContainer]); - const hasTimeFieldName = Boolean(dataView?.timeFieldName); + const hasTimeFieldName: boolean = useMemo(() => { + if (!isPlainRecord) { + return Boolean(dataView?.timeFieldName); + } else { + return Boolean(timeField); + } + }, [dataView?.timeFieldName, isPlainRecord, timeField]); + const panels = [ { id: 'mainPanel', @@ -165,11 +185,13 @@ export function openAlertsPopover({ stateContainer, services, adHocDataViews, + isPlainRecord, }: { anchorElement: HTMLElement; stateContainer: DiscoverStateContainer; services: DiscoverServices; adHocDataViews: DataView[]; + isPlainRecord?: boolean; }) { if (isOpen) { closeAlertsPopover(); @@ -188,6 +210,7 @@ export function openAlertsPopover({ stateContainer={stateContainer} adHocDataViews={adHocDataViews} services={services} + isPlainRecord={isPlainRecord} /> diff --git a/src/plugins/discover/public/application/view_alert/view_alert_route.tsx b/src/plugins/discover/public/application/view_alert/view_alert_route.tsx index 48b7144b9115d..5d8383be5e935 100644 --- a/src/plugins/discover/public/application/view_alert/view_alert_route.tsx +++ b/src/plugins/discover/public/application/view_alert/view_alert_route.tsx @@ -20,7 +20,7 @@ const isActualAlert = (queryParams: QueryParams): queryParams is NonNullableEntr }; export function ViewAlertRoute() { - const { core, data, locator, toastNotifications } = useDiscoverServices(); + const { core, data, locator, toastNotifications, dataViews } = useDiscoverServices(); const { id } = useParams<{ id: string }>(); const history = useHistory(); const { search } = useLocation(); @@ -46,7 +46,8 @@ export function ViewAlertRoute() { queryParams, toastNotifications, core, - data + data, + dataViews ); const navigateWithDiscoverState = (state: DiscoverAppLocatorParams) => { @@ -63,7 +64,17 @@ export function ViewAlertRoute() { .then(buildLocatorParams) .then(navigateWithDiscoverState) .catch(navigateToDiscoverRoot); - }, [core, data, history, id, locator, openActualAlert, queryParams, toastNotifications]); + }, [ + core, + data, + dataViews, + history, + id, + locator, + openActualAlert, + queryParams, + toastNotifications, + ]); return null; } diff --git a/src/plugins/discover/public/application/view_alert/view_alert_utils.tsx b/src/plugins/discover/public/application/view_alert/view_alert_utils.tsx index d8a7bfeae9b34..cc51f11885ea4 100644 --- a/src/plugins/discover/public/application/view_alert/view_alert_utils.tsx +++ b/src/plugins/discover/public/application/view_alert/view_alert_utils.tsx @@ -8,8 +8,9 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; +import { getIndexPatternFromESQLQuery, type AggregateQuery } from '@kbn/es-query'; import { CoreStart, ToastsStart } from '@kbn/core/public'; -import type { DataView } from '@kbn/data-views-plugin/public'; +import type { DataView, DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; import type { Rule } from '@kbn/alerting-plugin/common'; import type { RuleTypeParams } from '@kbn/alerting-plugin/common'; import { ISearchSource, SerializedSearchSourceFields, getTime } from '@kbn/data-plugin/common'; @@ -21,6 +22,8 @@ import { DiscoverAppLocatorParams } from '../../../common/locator'; export interface SearchThresholdAlertParams extends RuleTypeParams { searchConfiguration: SerializedSearchSourceFields; + esqlQuery?: AggregateQuery; + timeField?: string; } export interface QueryParams { @@ -50,7 +53,8 @@ export const getAlertUtils = ( queryParams: QueryParams, toastNotifications: ToastsStart, core: CoreStart, - data: DataPublicPluginStart + data: DataPublicPluginStart, + dataViews: DataViewsPublicPluginStart ) => { const showDataViewFetchError = (alertId: string) => { const errorTitle = i18n.translate('discover.viewAlert.dataViewErrorTitle', { @@ -111,14 +115,31 @@ export const getAlertUtils = ( } }; - const buildLocatorParams = ({ + const buildLocatorParams = async ({ alert, searchSource, }: { alert: Rule; searchSource: ISearchSource; - }): DiscoverAppLocatorParams => { - const dataView = searchSource.getField('index'); + }): Promise => { + let dataView = searchSource.getField('index'); + let query = searchSource.getField('query') || data.query.queryString.getDefaultQuery(); + + // Dataview and query for ES|QL alerts + if ( + alert.params && + 'esqlQuery' in alert.params && + alert.params.esqlQuery && + 'esql' in alert.params.esqlQuery + ) { + query = alert.params.esqlQuery; + const indexPattern: string = getIndexPatternFromESQLQuery(alert.params.esqlQuery.esql); + dataView = await dataViews.create({ + title: indexPattern, + timeFieldName: alert.params.timeField, + }); + } + const timeFieldName = dataView?.timeFieldName; // data view fetch error if (!dataView || !timeFieldName) { @@ -131,7 +152,7 @@ export const getAlertUtils = ( : buildTimeRangeFilter(dataView, alert, timeFieldName); return { - query: searchSource.getField('query') || data.query.queryString.getDefaultQuery(), + query, dataViewSpec: dataView.toSpec(false), timeRange, filters: searchSource.getField('filter') as Filter[], diff --git a/test/functional/apps/discover/group2/_esql_view.ts b/test/functional/apps/discover/group2/_esql_view.ts index 1f7493b6ff905..d820841b16cd0 100644 --- a/test/functional/apps/discover/group2/_esql_view.ts +++ b/test/functional/apps/discover/group2/_esql_view.ts @@ -75,7 +75,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // when Lens suggests a table, we render an ESQL based histogram expect(await testSubjects.exists('unifiedHistogramChart')).to.be(true); expect(await testSubjects.exists('unifiedHistogramQueryHits')).to.be(true); - expect(await testSubjects.exists('discoverAlertsButton')).to.be(false); + expect(await testSubjects.exists('discoverAlertsButton')).to.be(true); expect(await testSubjects.exists('shareTopNavButton')).to.be(true); expect(await testSubjects.exists('dataGridColumnSortingButton')).to.be(false); expect(await testSubjects.exists('docTableExpandToggleColumn')).to.be(true); diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/esql_query_expression.test.tsx b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/esql_query_expression.test.tsx index b9b8ba0dd38f7..025ac9deac732 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/esql_query_expression.test.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/esql_query_expression.test.tsx @@ -25,6 +25,7 @@ jest.mock('@kbn/text-based-editor', () => ({ fetchFieldsFromESQL: jest.fn(), })); const { fetchFieldsFromESQL } = jest.requireMock('@kbn/text-based-editor'); +const { getFields } = jest.requireMock('@kbn/triggers-actions-ui-plugin/public'); const AppWrapper: React.FC<{ children: React.ReactElement }> = React.memo(({ children }) => ( {children} @@ -133,6 +134,7 @@ describe('EsqlQueryRuleTypeExpression', () => { }, ], }); + getFields.mockResolvedValue([]); const result = render( { setRuleProperty('params', currentRuleParams); setQuery(esqlQuery ?? { esql: '' }); + if (esqlQuery && 'esql' in esqlQuery) { + if (esqlQuery.esql) { + refreshTimeFields(esqlQuery); + } + } if (timeField) { setTimeFieldOptions([firstFieldOption, { text: timeField, value: timeField }]); } From fbabbc402c895fff4b2a95e1f41730342ec0c5e2 Mon Sep 17 00:00:00 2001 From: James Rodewig Date: Thu, 14 Sep 2023 04:15:31 -0400 Subject: [PATCH 012/149] [main] [DOCS] Adds the release notes for 8.10.0 (#165077) (#166331) # Backport Adds the following commits to `main`: - [[DOCS] Adds the release notes for 8.10.0 (#165077)](https://github.com/elastic/kibana/pull/165077) - [[8.10] [DOCS] Fix 8.10 RNs (#166316)](https://github.com/elastic/kibana/pull/166316) ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sqren/backport) --------- Co-authored-by: amyjtechwriter <61687663+amyjtechwriter@users.noreply.github.com> --- docs/CHANGELOG.asciidoc | 300 +++++++++++++++++++++++++++++++++++++--- docs/redirects.asciidoc | 7 +- 2 files changed, 288 insertions(+), 19 deletions(-) diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index f3e74bb49ab0d..be7c61d99e095 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -10,7 +10,7 @@ Review important information about the {kib} 8.x releases. - +* <> * <> * <> * <> @@ -48,6 +48,270 @@ Review important information about the {kib} 8.x releases. * <> -- +[[release-notes-8.10.0]] +== {kib} 8.10.0 + +coming::[8.10.0] + +For information about the {kib} 8.10.0 release, review the following information. + +[float] +[[breaking-changes-8.10.0]] +=== Breaking changes + +Breaking changes can prevent your application from optimal operation and performance. +Before you upgrade to 8.10.0, review the breaking changes, then mitigate the impact to your application. + +[discrete] +[[breaking-162665]] +.New summary search capabilities +[%collapsible] +==== +*Details* + +New summary search capabilities introduce breaking changes in various places, and we have decided to not handle backward compatibility: + +* SLO find API body parameters have changed +* The index mapping used by the rollup data has changed, and we have added a summary index that becomes the new source of truth for search +* The rollup transform have been updated, but existing SLO with their transform won't be updated. + +If some SLOs have been installed in a prior version at 8.10, the user will need to remove them manually from the UI, or by deleting the Saved Object and the associated Transform. +==== + +[discrete] +[[breaking-162506]] +.Get case metrics APIs now internal +[%collapsible] +==== +*Details* + +The get case metrics APIs are now internal. For more information, refer to ({kibana-pull}162506[#162506]). +==== + +[discrete] +[[breaking-162492]] +.Case limits +[%collapsible] +==== +*Details* + +Limits are now imposed on the number of objects cases can process or the amount of data those objects can store. +//// +For example: +* Updating a case comment is now included in the 10000 user actions restriction. ({kibana-pull}163150[#163150]) +* Updating a case now fails if the operation makes it reach more than 10000 user actions. ({kibana-pull}161848[#161848]) +* The total number of characters per comment is limited to 30000. ({kibana-pull}161357[#161357]) +* The getConnectors API now limits the number of supported connectors returned to 1000. ({kibana-pull}161282[#161282]) +* There are new limits and restrictions when retrieving cases. ({kibana-pull}162411[#162411]), ({kibana-pull}162245[#162245]), ({kibana-pull}161111[#161111]), ({kibana-pull}160705[#160705]) +* A case can now only have 100 external references and persistable state(excluding files) attachments combined. ({kibana-pull}162071[#162071]). +* New limits on titles, descriptions, tags and category. ({kibana-pull}160844[#160844]). +* The maximum number of cases that can be updated simultaneously is now 100. The minimum is 1. ({kibana-pull}161076[#161076]). +* The Delete cases API now limits the number of cases to be deleted to 100.({kibana-pull}160846[#160846]). +//// +For the full list, refer to {kib-issue}146945[#146945]. +==== + +[discrete] +[[breaking-159041]] +.`addProcessorDefinition` is removed +[%collapsible] +==== +*Details* + +The function `addProcessorDefinition` is removed from the Console plugin start contract (server side). For more information, refer to ({kibana-pull}159041[#159041]). +==== + +[float] +[[deprecations-8.10.0]] +=== Deprecations + +The following functionality is deprecated in 8.10.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 upgrade to 8.10.0. + +[discrete] +[[deprecation-161136]] +.Action variables in the UI and in tests that were no longer used have been replaced +[%collapsible] +==== +*Details* + +The following rule action variables have been deprecated; use the recommended variables (in parentheses) instead: + +* alertActionGroup (alert.actionGroup) +* alertActionGroupName (alert.actionGroupName) +* alertActionSubgroup (alert.actionSubgroup) +* alertId (rule.id) +* alertInstanceId (alert.id) +* alertName (rule.name) +* params (rule.params) +* spaceId (rule.spaceId) +* tags (rule.tags) + +For more information, refer to ({kibana-pull}161136[#161136]). +==== + +[float] +[[features-8.10.0]] +=== Features +{kib} 8.10.0 adds the following new and notable features. + +Alerting:: +* Adds support for self-signed SSL certificate authentication in webhook connector ({kibana-pull}161894[#161894]). +* Allow runtime fields to be selected for {es} query rule type 'group by' or 'aggregate over' options ({kibana-pull}160319[#160319]). +APM:: +* Adds KQL filtering in APM rules ({kibana-pull}163825[#163825]). +* Make service group saved objects exportable ({kibana-pull}163569[#163569]). +* Added ability to manage Cross-Cluster API keys ({kibana-pull}162363[#162363]). +* Enable Trace Explorer by default ({kibana-pull}162308[#162308]). +* Adds error.grouping_name to group alerts in Error Count rule ({kibana-pull}161810[#161810]). +* Adds query to check for overflow bucket in service groups ({kibana-pull}159990[#159990]). +Elastic Security:: +For the Elastic Security 8.10.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. +Enterprise Search:: +For the Elastic Enterprise Search 8.10.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. +Fleet:: +* Only enable secret storage once all fleet servers are above 8.10.0 ({kibana-pull}163627[#163627]). +* Kafka integration API ({kibana-pull}159110[#159110]). +Machine Learning:: +* AIOps: Adds/edits change point charts embeddable from the Dashboard app ({kibana-pull}163694[#163694]). +* AIOps: Adds change point detection charts embeddable ({kibana-pull}162796[#162796]). +* Adds ability to deploy trained models for data frame analytics jobs ({kibana-pull}162537[#162537]). +* Adds map view for models in Trained Models and expands support for models in Analytics map ({kibana-pull}162443[#162443]). +* Adds new Data comparison view ({kibana-pull}161365[#161365]). +Management:: +* Added ability to create a remote cluster with the API key based security model ({kibana-pull}161836[#161836]). +* REST endpoint for swapping saved object references ({kibana-pull}157665[#157665]). +Maps:: +* Maps tracks layer now uses group by time series logic ({kibana-pull}159267[#159267]). +Observability:: +* SLO definition and computed values are now summarized periodically into a summary search index, allowing users to search by name, tags, SLO budgeting type or time window, and even by and sort by error budget consumed, error budget remaining, SLI value or status ({kibana-pull}162665[#162665]). +* Adds indicator to support histogram fields ({kibana-pull}161582[#161582]). + +For more information about the features introduced in 8.10.0, refer to <>. + +[discrete] +[[enhancements-and-bug-fixes-v8.10.0-revised]] +=== Enhancements and bug fixes + +For detailed information about the 8.10.0 release, review the enhancements and bug fixes. + +[float] +[[enhancement-v8.10.0]] +=== Enhancements +Alerting:: +* Fixes the event log data stream to use Data stream lifecycle instead of Index Lifecycle Management. If you had previously customized the Kibana event log ILM policy, you should now update the lifecycle of the event log data stream itself. ({kibana-pull}163210[#163210]). +* KQL search bar for Rules page ({kibana-pull}158106[#158106]). +APM:: +* Lens function ({kibana-pull}163872[#163872]). +* Adds several function implementations to the AI Assistant ({kibana-pull}163764[#163764]). +* Feature controls ({kibana-pull}163232[#163232]). +* Added improved JVM runtime metrics dashboard ({kibana-pull}162460[#162460]). +* Move to new plugin, update design and use connectors ({kibana-pull}162243[#162243]). +* Adding endpoint to upload android map files ({kibana-pull}161252[#161252]). +* Navigate from the transaction details view into the Profiling ({kibana-pull}159686[#159686]). +Dashboard:: +* Change badge color in options list ({kibana-pull}161401[#161401]). +* Edit title, description, and tags from dashboard listing page ({kibana-pull}161399[#161399]). +* Editing toolbar update ({kibana-pull}154966[#154966]). +Discover:: +* Inline shard failures warnings ({kibana-pull}161271[#161271]). +* Improve shard error message formatting ({kibana-pull}161098[#161098]). +Elastic Security:: +For the Elastic Security 8.10.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. +Enterprise Search:: +For the Elastic Enterprise Search 8.10.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. +Fleet:: +* Adds support for runtime fields ({kibana-pull}161129[#161129]). +Lens & Visualizations:: +* Migrate range slider to `EuiDualRange` and make styling consistent across all controls ({kibana-pull}162651[#162651]). +* Introduce new duration formatter in *Lens* ({kibana-pull}162246[#162246]). +* Create a filter with field:value when last value metric is used on a data table in *Lens* ({kibana-pull}160509[#160509]). +* Adds tooltip for partition and heatmap filtering ({kibana-pull}162716[#162716]). +Machine Learning:: +* Hides paging controls in anomaly swim lane if only one page is available ({kibana-pull}163931[#163931]). +* Adds a throughput description in the Trained Models Deployment stats table ({kibana-pull}163481[#163481]). +* Provides hints for empty fields in dropdown options in Anomaly detection & Transform creation wizards, Change point detection view ({kibana-pull}163371[#163371]). +* AIOps: Adds dip support to log rate analysis in ML AIOps Labs ({kibana-pull}163100[#163100]). +* AIOps: Improves table hovering for log rate analysis ({kibana-pull}162941[#162941]). +* AIOps: Adds dip support for log rate analysis in observability alert details page ({kibana-pull}162476[#162476]). +* Adds validation of field selected for log pattern analysis ({kibana-pull}162319[#162319]). +* AIOps: Renames Explain Log Rate Spikes to Log Rate Analysis ({kibana-pull}161764[#161764]). +* Adds new Data comparison view ({kibana-pull}161365[#161365]). +* Adds test UI for text expansion models ({kibana-pull}159150[#159150]). +* Adds update index mappings step to ML pipeline config workflow ({kibana-pull}163723[#163723]). +Management:: +* Adds multiple formats for geo_point fields and make geo conversion tools part of field_format/common/utils ({kibana-pull}147272[#147272]). +Maps:: +* Support time series split for top hits per entity source ({kibana-pull}161799[#161799]). +Observability:: +* Adds support for group by to SLO burn rate rule ({kibana-pull}163434[#163434]). +* Applying consistent design to Histogram and Custom Metric forms ({kibana-pull}162083[#162083]). +* Adds preview chart to custom metric indicator ({kibana-pull}161597[#161597]). +* Support filters for good/total custom metrics ({kibana-pull}161308[#161308]). +Reporting:: +* Increase max size bytes default to 250mb ({kibana-pull}161318[#161318]). +Security:: +* Change the default value of `session.idleTimeout` from 8 hours to 3 days ({kibana-pull}162313[#162313]). +* User roles displayed on the user profile page ({kibana-pull}161375[#161375]). +Uptime:: +* Implement private location run once ({kibana-pull}162582[#162582]). + +[float] +[[fixes-v8.10.0]] +=== Bug Fixes +APM:: +* Fixes styling and port issue with new onboarding ({kibana-pull}163922[#163922]). +* Fixes missing alert index issue ({kibana-pull}163600[#163600]). +* Fixes trace waterfall loading logic to handle empty scenarios ({kibana-pull}163397[#163397]). +* Fixes the action menu overlapping the 'Create custom link' flyout ({kibana-pull}162664[#162664]). +* Improve service groups error messages and validations ({kibana-pull}162556[#162556]). +* Fixes throwing appropriate error when user is missing necessary permission ({kibana-pull}162466[#162466]). +* Hide components when there is no support from agents ({kibana-pull}161970[#161970]). +* Fixes link to onboarding page in the Observability Onboarding plugin ({kibana-pull}161847[#161847]). +Dashboard:: +* Disables top navigation actions when cloning or overlay is showing ({kibana-pull}162091[#162091]). +Discover:: +* Fixes document failing to load when the ID contains a slash ({kibana-pull}160239[#160239]). +* Fixes NoData screen in alignment with Dashboard and Lends behavior ({kibana-pull}160747[#160747]). +Elastic Security:: +For the Elastic Security 8.10.0 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. +Enterprise Search:: +For the Elastic Enterprise Search 8.10.0 release information, refer to {enterprise-search-ref}/changelog.html[_Elastic Enterprise Search Documentation Release notes_]. +Fleet:: +* Only show agent dashboard links if there is more than one non-server agent and if the dashboards exist ({kibana-pull}164469[#164469]). +* Exclude Synthetics from per-policy-outputs ({kibana-pull}161949[#161949]). +* Fixing the path for hint templates for auto-discover ({kibana-pull}161075[#161075]). +Lens & Visualizations:: +* Fixes params._interval conversion to Lens formula ({kibana-pull}164150[#164150]). +* Fixes issues with field name that contains the `:` character in it in *Lens* ({kibana-pull}163626[#163626]). +* Fixes other request merge behavior when empty string key is retrieved ({kibana-pull}163187[#163187]). +* Fixes editing of multi values filters when adding a custom item ({kibana-pull}161940[#161940]). +* Allow setting custom colors to be collapsed by slices pie's multiple metrics in *Lens* ({kibana-pull}160592[#160592]). +* Fixes data table sorting for keyword values in *Lens* ({kibana-pull}160163[#160163]). +* Fixes override parameter when creating data views ({kibana-pull}160953[#160953]). +Logs:: +* Amend lazy imports in logs_shared plugin ({kibana-pull}164102[#164102]). +Machine Learning:: +* Fixes Trained models list crashes on browser refresh if not on page 1 ({kibana-pull}164163[#164163]). +* Fixes query bar not switching from KQL to Lucene and vice versa in Anomaly explorer ({kibana-pull}163625[#163625]). +* Data Frame Analytics creation wizard: ensures validation works correctly ({kibana-pull}163446[#163446]). +* Fixes capabilities polling in manage page ({kibana-pull}163399[#163399]). +* Fixes unhandled promise rejection from ML plugin ({kibana-pull}163129[#163129]). +* AIOps: Uses Kibana's http service instead of fetch and fixes throttling ({kibana-pull}162335[#162335]). +* Uses model supplied mask token for testing trained models ({kibana-pull}162168[#162168]). +Management:: +* Fixes how a bulk request body with variables are processed in Console ({kibana-pull}162745[#162745]). +* Improves a way of variable substitution and its documentation in Console ({kibana-pull}162382[#162382]). +* Transforms: Reduces rerenders and multiple fetches of source index on transform wizard load ({kibana-pull}160979[#160979]). +Maps:: +* Fixes Map layer preview blocks adding layer until all tiles are loaded ({kibana-pull}161994[#161994]). +Monitoring:: +* Rewrite CPU usage rule to improve accuracy ({kibana-pull}159351[#159351]). +Observability:: +* Fixes email connector rule URL ({kibana-pull}162954[#162954]). +* Disable the 'View rule details' option from the Alert Details' Actions list when the rule is deleted ({kibana-pull}163183[#163183]). +Reporting:: +* Fixes a bug where Kibana Reporting would not work in Elastic Docker without adding a special setting in kibana.yml to disable the Chromium sandbox. ({kibana-pull}149080[#149080]). +* Fixes an issue where certain international characters would not appear correctly in the contents of a print-optimized PDF report of a dashboard ({kibana-pull}161825[#161825]). +Uptime:: +* Fixes auto-expand feature for failed step detail ({kibana-pull}162747[#162747]). + [[release-notes-8.9.2]] == {kib} 8.9.2 @@ -85,7 +349,7 @@ Reporting:: [[release-notes-8.9.1]] == {kib} 8.9.1 -Review the following information about the {kib} 8.9.1 release. +Review the following information about the {kib} 8.9.1 release. [float] [[breaking-changes-8.9.1]] @@ -148,7 +412,7 @@ Before you upgrade to 8.9.0, review the breaking changes, then mitigate the impa The Uptime app now gets hidden from the interface when it doesn't have any data for more than a week. If you have a standalone Heartbeat pushing data to Elasticsearch, the Uptime app is considered active. You can disable this automatic behavior from the advanced settings in Kibana using the **Always show legacy Uptime app** option. For synthetic monitoring, we now recommend to use the new Synthetics app. For more information, refer to {kibana-pull}159118[#159118] ==== - + [discrete] [[breaking-159012]] .Remove synthetics pattern from Uptime settings @@ -165,7 +429,7 @@ Data from browser monitors and monitors of all types created within the Syntheti The following functionality is deprecated in 8.9.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 upgrade to 8.9.0. - + [discrete] [[deprecation-156455]] .Hide ability to create legacy input controls @@ -174,7 +438,7 @@ you make the necessary updates after you upgrade to 8.9.0. *Details* + The option to create legacy input controls when creating a new visualization is hidden. For more information, refer to {kibana-pull}156455[#156455] ==== - + [discrete] [[deprecation-155503]] .Remove legacy field stats @@ -183,7 +447,7 @@ The option to create legacy input controls when creating a new visualization is *Details* + Legacy felid stats that were previously shown within a popover have been removed. For more information, refer to {kibana-pull}155503[#155503] ==== - + [float] [[features-8.9.0]] === Features @@ -393,14 +657,14 @@ Review the following information about the {kib} 8.8.2 release. [%collapsible] ==== *Details* + -Due to a schema version update, during {fleet} setup in 8.8.x, all agent policies are being queried and deployed. +Due to a schema version update, during {fleet} setup in 8.8.x, all agent policies are being queried and deployed. This action triggers a lot of queries to the Elastic Package Registry (EPR) to fetch integration packages. As a result, -there is an increase in Kibana's resident memory usage (RSS). +there is an increase in Kibana's resident memory usage (RSS). *Impact* + -Because the default batch size of `100` for schema version upgrade of {fleet} agent policies is too high, this can +Because the default batch size of `100` for schema version upgrade of {fleet} agent policies is too high, this can cause Kibana to run out of memory during an upgrade. For example, we have observed 1GB Kibana instances run -out of memory during an upgrade when there were 20 agent policies with 5 integrations in each. +out of memory during an upgrade when there were 20 agent policies with 5 integrations in each. *Workaround* + Two workaround options are available: @@ -476,14 +740,14 @@ Review the following information about the {kib} 8.8.1 release. [%collapsible] ==== *Details* + -Due to a schema version update, during {fleet} setup in 8.8.x, all agent policies are being queried and deployed. +Due to a schema version update, during {fleet} setup in 8.8.x, all agent policies are being queried and deployed. This action triggers a lot of queries to the Elastic Package Registry (EPR) to fetch integration packages. As a result, -there is an increase in Kibana's resident memory usage (RSS). +there is an increase in Kibana's resident memory usage (RSS). *Impact* + -Because the default batch size of `100` for schema version upgrade of {fleet} agent policies is too high, this can +Because the default batch size of `100` for schema version upgrade of {fleet} agent policies is too high, this can cause Kibana to run out of memory during an upgrade. For example, we have observed 1GB Kibana instances run -out of memory during an upgrade when there were 20 agent policies with 5 integrations in each. +out of memory during an upgrade when there were 20 agent policies with 5 integrations in each. *Workaround* + Two workaround options are available: @@ -594,14 +858,14 @@ Review the following information about the {kib} 8.8.0 release. [%collapsible] ==== *Details* + -Due to a schema version update, during {fleet} setup in 8.8.x, all agent policies are being queried and deployed. +Due to a schema version update, during {fleet} setup in 8.8.x, all agent policies are being queried and deployed. This action triggers a lot of queries to the Elastic Package Registry (EPR) to fetch integration packages. As a result, -there is an increase in Kibana's resident memory usage (RSS). +there is an increase in Kibana's resident memory usage (RSS). *Impact* + -Because the default batch size of `100` for schema version upgrade of {fleet} agent policies is too high, this can +Because the default batch size of `100` for schema version upgrade of {fleet} agent policies is too high, this can cause Kibana to run out of memory during an upgrade. For example, we have observed 1GB Kibana instances run -out of memory during an upgrade when there were 20 agent policies with 5 integrations in each. +out of memory during an upgrade when there were 20 agent policies with 5 integrations in each. *Workaround* + Two workaround options are available: diff --git a/docs/redirects.asciidoc b/docs/redirects.asciidoc index 1928cfb97bdfe..f4ac0f11739b0 100644 --- a/docs/redirects.asciidoc +++ b/docs/redirects.asciidoc @@ -291,7 +291,7 @@ This page has been moved. Refer to <>. [[development-plugin-localization]] === Localization for plugins -This page has been moved. PRefer to <>. +This page has been moved. Refer to <>. [role="exclude",id="visualize"] == Visualize @@ -417,3 +417,8 @@ This page has been deleted. Refer to <>. == Alerts and Actions This page has been deleted. Refer to <>. + +[role="exclude",id="enhancements-and-bug-fixes-v8.10.0"] +== Enhancements and bug fixes for 8.10.0 + +This content has moved. Refer to <> for 8.10.0. From fbb05098b4cba2158508e548abdea341e39f35aa Mon Sep 17 00:00:00 2001 From: Konrad Szwarc Date: Thu, 14 Sep 2023 10:28:56 +0200 Subject: [PATCH 013/149] [Fleet][Defend Workflows] Api validation for endpoint package policy field (#166094) closes https://github.com/elastic/security-team/issues/7212 This PR introduces API validation for the `global_manifest_version` field in the `endpoint` package policy. --- .../server/routes/package_policy/handlers.ts | 7 ++- .../fleet/server/services/package_policy.ts | 3 + .../cypress/e2e/endpoint/policy_details.cy.ts | 8 +-- .../cypress/e2e/endpoint/policy_list.cy.ts | 19 +++--- .../pages/policy/view/policy_list.tsx | 6 +- .../protection_updates_layout.tsx | 8 +-- .../fleet_integration.test.ts | 60 +++++++++++++++++++ .../fleet_integration/fleet_integration.ts | 6 ++ .../validate_endpoint_package_policy.ts | 49 +++++++++++++++ .../validate_policy_against_license.ts | 6 +- .../index.test.ts | 4 +- .../endpoint_package_policies_stats/index.ts | 7 ++- 12 files changed, 156 insertions(+), 27 deletions(-) create mode 100644 x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_endpoint_package_policy.ts diff --git a/x-pack/plugins/fleet/server/routes/package_policy/handlers.ts b/x-pack/plugins/fleet/server/routes/package_policy/handlers.ts index e73a6aaac9c30..cbc560cc72dc8 100644 --- a/x-pack/plugins/fleet/server/routes/package_policy/handlers.ts +++ b/x-pack/plugins/fleet/server/routes/package_policy/handlers.ts @@ -376,7 +376,6 @@ export const updatePackagePolicyHandler: FleetRequestHandler< vars: body.vars ?? packagePolicy.vars, } as NewPackagePolicy; } - const updatedPackagePolicy = await packagePolicyService.update( soClient, esClient, @@ -394,6 +393,12 @@ export const updatePackagePolicyHandler: FleetRequestHandler< }, }); } catch (error) { + if (error.statusCode) { + return response.customError({ + statusCode: error.statusCode, + body: { message: error.message }, + }); + } return defaultFleetErrorHandler({ error, response }); } }; diff --git a/x-pack/plugins/fleet/server/services/package_policy.ts b/x-pack/plugins/fleet/server/services/package_policy.ts index 6d47be75b4fd6..46ac72f69ecab 100644 --- a/x-pack/plugins/fleet/server/services/package_policy.ts +++ b/x-pack/plugins/fleet/server/services/package_policy.ts @@ -705,6 +705,9 @@ class PackagePolicyClientImpl implements PackagePolicyClient { const logger = appContextService.getLogger(); logger.error(`An error occurred executing "packagePolicyUpdate" callback: ${error}`); logger.error(error); + if (error.apiPassThrough) { + throw error; + } enrichedPackagePolicy = packagePolicyUpdate; } diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_details.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_details.cy.ts index 577164ff4d893..49bb33cbc3267 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_details.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_details.cy.ts @@ -26,7 +26,7 @@ describe('Policy Details', () => { describe('Renders and saves protection updates', () => { let indexedPolicy: IndexedFleetEndpointPolicyResponse; let policy: PolicyData; - const today = moment(); + const today = moment.utc(); const formattedToday = today.format('MMMM DD, YYYY'); beforeEach(() => { @@ -99,7 +99,7 @@ describe('Policy Details', () => { let indexedPolicy: IndexedFleetEndpointPolicyResponse; let policy: PolicyData; - const twoMonthsAgo = moment().subtract(2, 'months').format('YYYY-MM-DD'); + const twoMonthsAgo = moment.utc().subtract(2, 'months').format('YYYY-MM-DD'); beforeEach(() => { login(); @@ -143,7 +143,7 @@ describe('Policy Details', () => { let indexedPolicy: IndexedFleetEndpointPolicyResponse; let policy: PolicyData; - const twoMonthsAgo = moment().subtract(2, 'months').format('YYYY-MM-DD'); + const twoMonthsAgo = moment.utc().subtract(2, 'months').format('YYYY-MM-DD'); beforeEach(() => { login(); @@ -186,7 +186,7 @@ describe('Policy Details', () => { describe('Renders read only protection updates for user without write permissions', () => { let indexedPolicy: IndexedFleetEndpointPolicyResponse; let policy: PolicyData; - const twoMonthsAgo = moment().subtract(2, 'months'); + const twoMonthsAgo = moment.utc().subtract(2, 'months'); beforeEach(() => { login(ROLE.endpoint_security_policy_management_read); diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_list.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_list.cy.ts index aca3a8b68a81a..1b70ecba0882e 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_list.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_list.cy.ts @@ -8,7 +8,6 @@ import moment from 'moment'; import { setCustomProtectionUpdatesManifestVersion } from '../../tasks/endpoint_policy'; import { disableExpandableFlyoutAdvancedSettings, loadPage } from '../../tasks/common'; -import type { PolicyData } from '../../../../../common/endpoint/types'; import type { IndexedFleetEndpointPolicyResponse } from '../../../../../common/endpoint/data_loaders/index_fleet_endpoint_policy'; import { login } from '../../tasks/login'; @@ -17,13 +16,16 @@ import { createAgentPolicyTask, getEndpointIntegrationVersion } from '../../task describe('Policy List', () => { describe('Renders policy list with outdated policies', () => { const indexedPolicies: IndexedFleetEndpointPolicyResponse[] = []; - const policies: PolicyData[] = []; - const monthAgo = moment().subtract(1, 'months').format('YYYY-MM-DD'); - const threeDaysAgo = moment().subtract(3, 'days').format('YYYY-MM-DD'); - const nineteenMonthsAgo = moment().subtract(19, 'months').format('YYYY-MM-DD'); + const monthAgo = moment.utc().subtract(1, 'months').format('YYYY-MM-DD'); + const threeDaysAgo = moment.utc().subtract(3, 'days').format('YYYY-MM-DD'); + const eighteenMonthsAgo = moment + .utc() + .subtract(18, 'months') + .add(1, 'day') + .format('YYYY-MM-DD'); - const dates = [monthAgo, threeDaysAgo, nineteenMonthsAgo]; + const dates = [monthAgo, threeDaysAgo, eighteenMonthsAgo]; beforeEach(() => { login(); @@ -35,7 +37,6 @@ describe('Policy List', () => { for (let i = 0; i < 4; i++) { createAgentPolicyTask(version).then((data) => { indexedPolicies.push(data); - policies.push(data.integrationPolicies[0]); if (dates[i]) { setCustomProtectionUpdatesManifestVersion(data.integrationPolicies[0].id, dates[i]); } @@ -56,7 +57,7 @@ describe('Policy List', () => { loadPage('/app/security/administration/policy'); cy.getByTestSubj('policy-list-outdated-manifests-call-out').should('contain', '2 policies'); dates.forEach((date) => { - cy.contains(moment(date, 'YYYY-MM-DD').format('MMMM DD, YYYY')); + cy.contains(moment.utc(date, 'YYYY-MM-DD').format('MMMM DD, YYYY')); }); cy.getByTestSubj('policyDeployedVersion').should('have.length', 4); }); @@ -64,7 +65,6 @@ describe('Policy List', () => { describe('Renders policy list with no outdated policies', () => { let indexedPolicy: IndexedFleetEndpointPolicyResponse; - let policy: PolicyData; beforeEach(() => { login(); @@ -75,7 +75,6 @@ describe('Policy List', () => { getEndpointIntegrationVersion().then((version) => { createAgentPolicyTask(version).then((data) => { indexedPolicy = data; - policy = indexedPolicy.integrationPolicies[0]; }); }); }); diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_list.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_list.tsx index 57ca95fd59de8..1a1a76ddcf198 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_list.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_list.tsx @@ -172,9 +172,9 @@ export const PolicyList = memo(() => { ]; } - const parsedDate = moment(version, 'YYYY-MM-DD'); + const parsedDate = moment.utc(version, 'YYYY-MM-DD'); - if (parsedDate < moment().subtract(18, 'months')) { + if (parsedDate < moment.utc().subtract(18, 'months')) { return [ 'danger', parsedDate.format('MMMM DD, YYYY'), @@ -184,7 +184,7 @@ export const PolicyList = memo(() => { ]; } - if (parsedDate > moment().subtract(1, 'month')) { + if (parsedDate > moment.utc().subtract(1, 'month')) { return ['success', parsedDate.format('MMMM DD, YYYY')]; } diff --git a/x-pack/plugins/security_solution/public/management/pages/policy/view/protection_updates/protection_updates_layout.tsx b/x-pack/plugins/security_solution/public/management/pages/policy/view/protection_updates/protection_updates_layout.tsx index 499be2cf31284..eaac2595c931b 100644 --- a/x-pack/plugins/security_solution/public/management/pages/policy/view/protection_updates/protection_updates_layout.tsx +++ b/x-pack/plugins/security_solution/public/management/pages/policy/view/protection_updates/protection_updates_layout.tsx @@ -68,7 +68,7 @@ export const ProtectionUpdatesLayout = React.memo( const deployedVersion = policy.inputs[0].config.policy.value.global_manifest_version; const [manifestVersion, setManifestVersion] = useState(deployedVersion); - const today = moment(); + const today = moment.utc(); const [selectedDate, setSelectedDate] = useState(today); const { data: fetchedNote, isLoading: getNoteInProgress } = useGetProtectionUpdatesNote({ @@ -88,8 +88,8 @@ export const ProtectionUpdatesLayout = React.memo( const automaticUpdatesEnabled = manifestVersion === 'latest'; const internalDateFormat = 'YYYY-MM-DD'; const displayDateFormat = 'MMMM DD, YYYY'; - const formattedDate = moment(deployedVersion, internalDateFormat).format(displayDateFormat); - const cutoffDate = moment().subtract(18, 'months'); // Earliest selectable date + const formattedDate = moment.utc(deployedVersion, internalDateFormat).format(displayDateFormat); + const cutoffDate = moment.utc().subtract(18, 'months').add(1, 'day'); // Earliest selectable date const viewModeSwitchLabel = automaticUpdatesEnabled ? AUTOMATIC_UPDATES_CHECKBOX_LABEL @@ -226,7 +226,7 @@ export const ProtectionUpdatesLayout = React.memo( return null; } - const deployedVersionDate = moment(deployedVersion).format(internalDateFormat); + const deployedVersionDate = moment.utc(deployedVersion).format(internalDateFormat); const daysSinceLastUpdate = today.diff(deployedVersionDate, 'days'); if (daysSinceLastUpdate < 30) { diff --git a/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts b/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts index 43292c8436fdc..b91bfae4eb405 100644 --- a/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts +++ b/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts @@ -437,6 +437,66 @@ describe('ingest_integration tests ', () => { licenseEmitter.next(Platinum); // set license level to platinum }); + it.each([ + { + date: 'invalid', + message: 'Invalid date format. Use "latest" or "YYYY-MM-DD" format. UTC time.', + }, + { + date: '2023-10-1', + message: 'Invalid date format. Use "latest" or "YYYY-MM-DD" format. UTC time.', + }, + { + date: '2020-10-31', + message: + 'Global manifest version is too far in the past. Use "latest" or a date within the last 18 months. UTC time.', + }, + { + date: '2100-10-01', + message: 'Global manifest version cannot be in the future. UTC time.', + }, + { + date: 'latest', + }, + ])( + 'should return bad request for invalid endpoint package policy global manifest values', + async ({ date, message }) => { + const mockPolicy = policyFactory(); // defaults with paid features on + const logger = loggingSystemMock.create().get('ingest_integration.test'); + const callback = getPackagePolicyUpdateCallback( + logger, + licenseService, + endpointAppContextMock.featureUsageService, + endpointAppContextMock.endpointMetadataService, + cloudService, + esClient, + appFeaturesService + ); + const policyConfig = generator.generatePolicyPackagePolicy(); + policyConfig.inputs[0]!.config!.policy.value = { + ...mockPolicy, + global_manifest_version: date, + }; + if (!message) { + const updatedPolicyConfig = await callback( + policyConfig, + soClient, + esClient, + requestContextMock.convertContext(ctx), + req + ); + expect(updatedPolicyConfig.inputs[0]!.config!.policy.value).toEqual({ + ...mockPolicy, + global_manifest_version: date, + }); + } else { + await expect(() => + callback(policyConfig, soClient, esClient, requestContextMock.convertContext(ctx), req) + ).rejects.toThrow(message); + } + } + ); + it('updates successfully when paid features are turned on', async () => { const mockPolicy = policyFactory(); mockPolicy.windows.popup.malware.message = 'paid feature'; diff --git a/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.ts b/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.ts index c2775f3f4794a..ce6ff450a6869 100644 --- a/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.ts +++ b/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.ts @@ -23,6 +23,7 @@ import type { import type { CloudSetup } from '@kbn/cloud-plugin/server'; import type { InfoResponse } from '@elastic/elasticsearch/lib/api/types'; import { AppFeatureSecurityKey } from '@kbn/security-solution-features/keys'; +import { validateEndpointPackagePolicy } from './handlers/validate_endpoint_package_policy'; import { isPolicySetToEventCollectionOnly, ensureOnlyEventCollectionIsAllowed, @@ -102,6 +103,9 @@ export const getPackagePolicyCreateCallback = ( return newPackagePolicy; } + if (newPackagePolicy?.inputs) { + validateEndpointPackagePolicy(newPackagePolicy.inputs); + } // Optional endpoint integration configuration let endpointIntegrationConfig; @@ -205,6 +209,8 @@ export const getPackagePolicyUpdateCallback = ( logger ); + validateEndpointPackagePolicy(endpointIntegrationData.inputs); + notifyProtectionFeatureUsage( endpointIntegrationData, featureUsageService, diff --git a/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_endpoint_package_policy.ts b/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_endpoint_package_policy.ts new file mode 100644 index 0000000000000..11033f6cc6989 --- /dev/null +++ b/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_endpoint_package_policy.ts @@ -0,0 +1,49 @@ +/* + * 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 moment from 'moment'; + +import type { NewPackagePolicyInput } from '@kbn/fleet-plugin/common'; + +export const validateEndpointPackagePolicy = (inputs: NewPackagePolicyInput[]) => { + const input = inputs.find((i) => i.type === 'endpoint'); + if (input?.config?.policy?.value?.global_manifest_version) { + const globalManifestVersion = input.config.policy.value.global_manifest_version; + + if (globalManifestVersion !== 'latest') { + const parsedDate = moment.utc(globalManifestVersion, 'YYYY-MM-DD', true); + if (!parsedDate.isValid()) { + throw createManifestVersionError( + 'Invalid date format. Use "latest" or "YYYY-MM-DD" format. UTC time.' + ); + } + + const maxAllowedDate = moment.utc().subtract(18, 'months'); + if (parsedDate.isBefore(maxAllowedDate)) { + throw createManifestVersionError( + 'Global manifest version is too far in the past. Use "latest" or a date within the last 18 months. UTC time.' + ); + } + if (parsedDate.isAfter(moment.utc())) { + throw createManifestVersionError( + 'Global manifest version cannot be in the future. UTC time.' + ); + } + } + } +}; + +const createManifestVersionError = ( + message: string +): Error & { statusCode?: number; apiPassThrough?: boolean } => { + const manifestVersionError: Error & { statusCode?: number; apiPassThrough?: boolean } = new Error( + message + ); + manifestVersionError.statusCode = 400; + manifestVersionError.apiPassThrough = true; + return manifestVersionError; +}; diff --git a/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_policy_against_license.ts b/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_policy_against_license.ts index 4b19654b93ad4..35e8fea91346e 100644 --- a/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_policy_against_license.ts +++ b/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_policy_against_license.ts @@ -18,8 +18,12 @@ export const validatePolicyAgainstLicense = ( if (!isEndpointPolicyValidForLicense(policyConfig, licenseService.getLicenseInformation())) { logger.warn('Incorrect license tier for paid policy fields'); // The `statusCode` below is used by Fleet API handler to ensure that the proper HTTP code is used in the API response - const licenseError: Error & { statusCode?: number } = new Error('Requires Platinum license'); + const licenseError: Error & { statusCode?: number; passThroughApi?: boolean } = new Error( + 'Requires Platinum license' + ); licenseError.statusCode = 403; + licenseError.passThroughApi = true; + throw licenseError; } }; diff --git a/x-pack/plugins/security_solution/server/search_strategy/endpoint_package_policies_stats/index.test.ts b/x-pack/plugins/security_solution/server/search_strategy/endpoint_package_policies_stats/index.test.ts index 0806b38628c9a..1d3e92592cb8e 100644 --- a/x-pack/plugins/security_solution/server/search_strategy/endpoint_package_policies_stats/index.test.ts +++ b/x-pack/plugins/security_solution/server/search_strategy/endpoint_package_policies_stats/index.test.ts @@ -91,8 +91,8 @@ describe('Endpoint package policies stats', () => { 'latest', '2020-01-01', 'latest', - moment().subtract(1, 'week').format('YYYY-MM-DD'), - moment().subtract(2, 'week').format('YYYY-MM-DD'), + moment.utc().subtract(1, 'week').format('YYYY-MM-DD'), + moment.utc().subtract(2, 'week').format('YYYY-MM-DD'), ]) ); const response = await requestEndpointPackagePoliciesStatsSearch( diff --git a/x-pack/plugins/security_solution/server/search_strategy/endpoint_package_policies_stats/index.ts b/x-pack/plugins/security_solution/server/search_strategy/endpoint_package_policies_stats/index.ts index ce7f172cac642..99b64cf1ed193 100644 --- a/x-pack/plugins/security_solution/server/search_strategy/endpoint_package_policies_stats/index.ts +++ b/x-pack/plugins/security_solution/server/search_strategy/endpoint_package_policies_stats/index.ts @@ -42,7 +42,10 @@ export const requestEndpointPackagePoliciesStatsSearch = async ( }); const outdatedManifestsCount = rawResponse.items.reduce((acc, item) => { - const endpointInput = item.inputs[0]; + const endpointInput = item.inputs.find((input) => input.type === 'endpoint'); + if (!endpointInput) { + return acc; + } const manifestVersion = endpointInput.config?.policy?.value?.global_manifest_version; if (!manifestVersion) { return acc; @@ -50,7 +53,7 @@ export const requestEndpointPackagePoliciesStatsSearch = async ( if (manifestVersion === 'latest') { return acc; } - if (moment(manifestVersion, 'YYYY-MM-DD').isBefore(moment().subtract(1, 'month'))) { + if (moment.utc(manifestVersion, 'YYYY-MM-DD').isBefore(moment.utc().subtract(1, 'month'))) { return acc + 1; } From e74bf292f890f49d92eaf8efdedfdab458990ecd Mon Sep 17 00:00:00 2001 From: Marco Liberati Date: Thu, 14 Sep 2023 10:30:39 +0200 Subject: [PATCH 014/149] [Lens] Unskip tsdb tests (#166354) ## Summary Fixes #166097 Relax test checks. Flaky test runner x 100 passing: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3095 ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### Risk Matrix Delete this section if it is not applicable to this PR. Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release. When forming the risk matrix, consider some of the following examples and how they may potentially impact the change: | Risk | Probability | Severity | Mitigation/Notes | |---------------------------|-------------|----------|-------------------------| | Multiple Spaces—unexpected behavior in non-default Kibana Space. | Low | High | Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces. | | Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. | High | Low | Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure. | | Code should gracefully handle cases when feature X or plugin Y are disabled. | Medium | High | Unit tests will verify that any feature flag or plugin combination still results in our service operational. | | [See more potential risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) | ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- .../test/functional/apps/lens/group4/tsdb.ts | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/x-pack/test/functional/apps/lens/group4/tsdb.ts b/x-pack/test/functional/apps/lens/group4/tsdb.ts index 02dfa4ea2da5e..745592a02cb1d 100644 --- a/x-pack/test/functional/apps/lens/group4/tsdb.ts +++ b/x-pack/test/functional/apps/lens/group4/tsdb.ts @@ -311,8 +311,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { log.info(`Indexed ${res.items.length} test data docs.`); }; - // Failing: See https://github.com/elastic/kibana/issues/166097 - describe.skip('lens tsdb', function () { + describe('lens tsdb', function () { const tsdbIndex = 'kibana_sample_data_logstsdb'; const tsdbDataView = tsdbIndex; const tsdbEsArchive = 'test/functional/fixtures/es_archiver/kibana_sample_data_logs_tsdb'; @@ -827,16 +826,18 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // check there's some data after the upgrade expect(counterBars[counterBars.length - 1].y).to.eql(5000); + // due to the flaky nature of exact check here, we're going to relax it + // as long as there's data before and after it is ok log.info('Check count before the upgrade'); const columnsToCheck = countBars.length / 2; // Before the upgrade the count is N times the indexes - expect(sumFirstNValues(columnsToCheck, countBars)).to.eql( - indexes.length * TEST_DOC_COUNT + expect(sumFirstNValues(columnsToCheck, countBars)).to.be.greaterThan( + indexes.length * TEST_DOC_COUNT - 1 ); log.info('Check count after the upgrade'); // later there are only documents for the upgraded stream - expect(sumFirstNValues(columnsToCheck, [...countBars].reverse())).to.eql( - TEST_DOC_COUNT + expect(sumFirstNValues(columnsToCheck, [...countBars].reverse())).to.be.greaterThan( + TEST_DOC_COUNT - 1 ); }); }); @@ -912,12 +913,18 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const data = await PageObjects.lens.getCurrentChartDebugState('xyVisChart'); const bars = data.bars![0].bars; const columnsToCheck = bars.length / 2; + // due to the flaky nature of exact check here, we're going to relax it + // as long as there's data before and after it is ok log.info('Check count before the downgrade'); // Before the upgrade the count is N times the indexes - expect(sumFirstNValues(columnsToCheck, bars)).to.eql(indexes.length * TEST_DOC_COUNT); + expect(sumFirstNValues(columnsToCheck, bars)).to.be.greaterThan( + indexes.length * TEST_DOC_COUNT - 1 + ); log.info('Check count after the downgrade'); // later there are only documents for the upgraded stream - expect(sumFirstNValues(columnsToCheck, [...bars].reverse())).to.eql(TEST_DOC_COUNT); + expect(sumFirstNValues(columnsToCheck, [...bars].reverse())).to.be.greaterThan( + TEST_DOC_COUNT - 1 + ); }); it('should visualize data when moving the time window around the downgrade moment', async () => { From 3c9ccbe6af053cffacd34d6830a324fff4f2c900 Mon Sep 17 00:00:00 2001 From: Dzmitry Lemechko Date: Thu, 14 Sep 2023 10:34:58 +0200 Subject: [PATCH 015/149] [kbn-es] fix writing ES logs to file (#166400) ## Summary #165676 broke api-capacity-testing pipeline with `writeLogsToPath` [failing](https://buildkite.com/elastic/kibana-apis-capacity-testing/builds/1940) on calling `Rx.combineLatest(..)` This PR fixes the problem by changing imports & adding an integration test to catch it next time --- packages/kbn-es/src/cluster.ts | 16 ++++++++-------- .../kbn-es/src/integration_tests/cluster.test.ts | 11 +++++++++++ 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/packages/kbn-es/src/cluster.ts b/packages/kbn-es/src/cluster.ts index 00cd40875208b..76c1119ab3584 100644 --- a/packages/kbn-es/src/cluster.ts +++ b/packages/kbn-es/src/cluster.ts @@ -12,7 +12,7 @@ import chalk from 'chalk'; import * as path from 'path'; import execa from 'execa'; import { Readable } from 'stream'; -import Rx from 'rxjs'; +import { combineLatest, fromEvent, first } from 'rxjs'; import { Client } from '@elastic/elasticsearch'; import { promisify } from 'util'; import { CA_CERT_PATH, ES_NOPASSWORD_P12_PATH, extract } from '@kbn/dev-utils'; @@ -46,7 +46,7 @@ import { const DEFAULT_READY_TIMEOUT = 60 * 1000; // listen to data on stream until map returns anything but undefined -const first = (stream: Readable, map: (data: Buffer) => string | true | undefined) => +const firstResult = (stream: Readable, map: (data: Buffer) => string | true | undefined) => new Promise((resolve) => { const onData = (data: any) => { const result = map(data); @@ -205,7 +205,7 @@ export class Cluster { await Promise.race([ // wait for native realm to be setup and es to be started Promise.all([ - first(this.process?.stdout!, (data: Buffer) => { + firstResult(this.process?.stdout!, (data: Buffer) => { if (/started/.test(data.toString('utf-8'))) { return true; } @@ -400,7 +400,7 @@ export class Cluster { this.setupPromise = Promise.all([ // parse log output to find http port - first(this.process.stdout!, (data: Buffer) => { + firstResult(this.process.stdout!, (data: Buffer) => { const match = data.toString('utf8').match(/HttpServer.+publish_address {[0-9.]+:([0-9]+)/); if (match) { @@ -476,11 +476,11 @@ export class Cluster { // close the stdio target if we have one defined if (this.stdioTarget) { - Rx.combineLatest([ - Rx.fromEvent(this.process.stderr!, 'end'), - Rx.fromEvent(this.process.stdout!, 'end'), + combineLatest([ + fromEvent(this.process.stderr!, 'end'), + fromEvent(this.process.stdout!, 'end'), ]) - .pipe(Rx.first()) + .pipe(first()) .subscribe(() => { this.stdioTarget?.end(); }); diff --git a/packages/kbn-es/src/integration_tests/cluster.test.ts b/packages/kbn-es/src/integration_tests/cluster.test.ts index 3d33e2f299a0a..dfe3d25f5ec65 100644 --- a/packages/kbn-es/src/integration_tests/cluster.test.ts +++ b/packages/kbn-es/src/integration_tests/cluster.test.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import fs from 'fs'; import { ToolingLog, ToolingLogCollectingWriter } from '@kbn/tooling-log'; import * as extractConfig from '../utils/extract_config_files'; import * as dockerUtils from '../utils/docker'; @@ -355,6 +356,16 @@ describe('#start(installPath)', () => { await new Cluster({ log }).start(installPath, esClusterExecOptions); }); + test(`writes logs to file when 'writeLogsToPath' is passed`, async () => { + mockEsBin({ start: true }); + const writeLogsToPath = `${KIBANA_ROOT}/es-cluster.log`; + + await new Cluster({ log }).start(installPath, { writeLogsToPath }); + + expect(logWriter.messages[0]).toContain(`and writing logs to ${writeLogsToPath}`); + expect(fs.existsSync(writeLogsToPath)).toBe(true); + }); + test('rejects if #start() was called previously', async () => { mockEsBin({ start: true }); From 19235fabb79f735b184ed0d1e80bb8e4c0b9cd5c Mon Sep 17 00:00:00 2001 From: Vadim Kibana <82822460+vadimkibana@users.noreply.github.com> Date: Thu, 14 Sep 2023 10:47:20 +0200 Subject: [PATCH 016/149] Remove deprecated EUI components in reporting_example plugin (#166224) ## Summary Partially addresses https://github.com/elastic/kibana/issues/161422 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../public/containers/capture_test.tsx | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/x-pack/examples/reporting_example/public/containers/capture_test.tsx b/x-pack/examples/reporting_example/public/containers/capture_test.tsx index c74e65df3df79..5ff5a1d6a7a03 100644 --- a/x-pack/examples/reporting_example/public/containers/capture_test.tsx +++ b/x-pack/examples/reporting_example/public/containers/capture_test.tsx @@ -19,8 +19,7 @@ import { EuiPage, EuiPageHeader, EuiPageBody, - EuiPageContent_Deprecated as EuiPageContent, - EuiPageContentBody_Deprecated as EuiPageContentBody, + EuiPageSection, } from '@elastic/eui'; import { TestImageA } from '../components'; @@ -62,7 +61,7 @@ export const CaptureTest: FunctionComponent = () => { return ( - + @@ -75,16 +74,16 @@ export const CaptureTest: FunctionComponent = () => { - - - tab.id === tabToRender) : undefined - } - /> - - + + + + tab.id === tabToRender) : undefined + } + /> + ); From f1fb5e0a7e2f258d58c263585af6c273107b12eb Mon Sep 17 00:00:00 2001 From: Vadim Kibana <82822460+vadimkibana@users.noreply.github.com> Date: Thu, 14 Sep 2023 10:48:46 +0200 Subject: [PATCH 017/149] add theme provider to Reporting management app (#166346) ## Summary Closes https://github.com/elastic/kibana/issues/153269 Closes https://github.com/elastic/kibana/issues/163342 --- .../management/mount_management_section.tsx | 49 ++++++++++--------- x-pack/plugins/reporting/tsconfig.json | 1 + 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/x-pack/plugins/reporting/public/management/mount_management_section.tsx b/x-pack/plugins/reporting/public/management/mount_management_section.tsx index 604885e8be360..4c994a5bb61b4 100644 --- a/x-pack/plugins/reporting/public/management/mount_management_section.tsx +++ b/x-pack/plugins/reporting/public/management/mount_management_section.tsx @@ -11,6 +11,7 @@ import { render, unmountComponentAtNode } from 'react-dom'; import { Observable } from 'rxjs'; import { CoreSetup, CoreStart } from '@kbn/core/public'; import { ILicense } from '@kbn/licensing-plugin/public'; +import { KibanaThemeProvider } from '@kbn/react-kibana-context-theme'; import { ReportingAPIClient, InternalApiClientProvider } from '../lib/reporting_api_client'; import { IlmPolicyStatusContextProvider } from '../lib/ilm_policy_status_context'; import { ClientConfigType } from '../plugin'; @@ -28,29 +29,31 @@ export async function mountManagementSection( params: ManagementAppMountParams ) { render( - - - - - - - - - , + + + + + + + + + + + , params.element ); diff --git a/x-pack/plugins/reporting/tsconfig.json b/x-pack/plugins/reporting/tsconfig.json index f307442001655..be183ef08a366 100644 --- a/x-pack/plugins/reporting/tsconfig.json +++ b/x-pack/plugins/reporting/tsconfig.json @@ -41,6 +41,7 @@ "@kbn/saved-search-plugin", "@kbn/core-http-router-server-internal", "@kbn/core-http-common", + "@kbn/react-kibana-context-theme", ], "exclude": [ "target/**/*", From b1bfe926375650411d6c574a46fc37f7cef19af2 Mon Sep 17 00:00:00 2001 From: Pierre Gayvallet Date: Thu, 14 Sep 2023 11:28:31 +0200 Subject: [PATCH 018/149] [cloud plugin] Add serverless projectName to configuration and contract (#166330) ## Summary Part of https://github.com/elastic/kibana/issues/166182 Similar to https://github.com/elastic/kibana/pull/161728 Add the `serverless.project_name` config setting to the cloud plugin, and expose the `serverless.projectName` info from the cloud plugin's API. --- .../test_suites/core_plugins/rendering.ts | 1 + x-pack/plugins/cloud/public/mocks.tsx | 1 + x-pack/plugins/cloud/public/plugin.test.ts | 22 ++++++++++++++++++ x-pack/plugins/cloud/public/plugin.tsx | 3 +++ x-pack/plugins/cloud/public/types.ts | 10 ++++++++ .../server/__snapshots__/plugin.test.ts.snap | 1 + x-pack/plugins/cloud/server/config.test.ts | 23 +++++++++++++++++++ x-pack/plugins/cloud/server/config.ts | 12 +++++++--- x-pack/plugins/cloud/server/mocks.ts | 1 + x-pack/plugins/cloud/server/plugin.test.ts | 10 ++++++++ x-pack/plugins/cloud/server/plugin.ts | 6 +++++ .../plugins/fleet/.storybook/context/cloud.ts | 1 + 12 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 x-pack/plugins/cloud/server/config.test.ts diff --git a/test/plugin_functional/test_suites/core_plugins/rendering.ts b/test/plugin_functional/test_suites/core_plugins/rendering.ts index ea5ac251ae6a0..f3f6d8b8ac4e9 100644 --- a/test/plugin_functional/test_suites/core_plugins/rendering.ts +++ b/test/plugin_functional/test_suites/core_plugins/rendering.ts @@ -230,6 +230,7 @@ export default function ({ getService }: PluginFunctionalProviderContext) { 'xpack.cloud.projects_url (any)', // It's a string (any because schema.conditional) // can't be used to infer urls or customer id from the outside 'xpack.cloud.serverless.project_id (string)', + 'xpack.cloud.serverless.project_name (string)', 'xpack.discoverEnhanced.actions.exploreDataInChart.enabled (boolean)', 'xpack.discoverEnhanced.actions.exploreDataInContextMenu.enabled (boolean)', 'xpack.fleet.agents.enabled (boolean)', diff --git a/x-pack/plugins/cloud/public/mocks.tsx b/x-pack/plugins/cloud/public/mocks.tsx index c6b849278ab86..fdeaae4210202 100644 --- a/x-pack/plugins/cloud/public/mocks.tsx +++ b/x-pack/plugins/cloud/public/mocks.tsx @@ -29,6 +29,7 @@ function createSetupMock(): jest.Mocked { isServerlessEnabled: false, serverless: { projectId: undefined, + projectName: undefined, }, }; } diff --git a/x-pack/plugins/cloud/public/plugin.test.ts b/x-pack/plugins/cloud/public/plugin.test.ts index 9dd0ec9664ba5..431310de73524 100644 --- a/x-pack/plugins/cloud/public/plugin.test.ts +++ b/x-pack/plugins/cloud/public/plugin.test.ts @@ -148,6 +148,16 @@ describe('Cloud Plugin', () => { }); expect(setup.serverless.projectId).toBe('my-awesome-project'); }); + + it('exposes `serverless.projectName`', () => { + const { setup } = setupPlugin({ + serverless: { + project_id: 'my-awesome-project', + project_name: 'My Awesome Project', + }, + }); + expect(setup.serverless.projectName).toBe('My Awesome Project'); + }); }); }); @@ -222,5 +232,17 @@ describe('Cloud Plugin', () => { const start = plugin.start(coreStart); expect(start.serverless.projectId).toBe('my-awesome-project'); }); + + it('exposes `serverless.projectName`', () => { + const { plugin } = startPlugin({ + serverless: { + project_id: 'my-awesome-project', + project_name: 'My Awesome Project', + }, + }); + const coreStart = coreMock.createStart(); + const start = plugin.start(coreStart); + expect(start.serverless.projectName).toBe('My Awesome Project'); + }); }); }); diff --git a/x-pack/plugins/cloud/public/plugin.tsx b/x-pack/plugins/cloud/public/plugin.tsx index f0fad877a1bd5..88b0333ddc2b7 100644 --- a/x-pack/plugins/cloud/public/plugin.tsx +++ b/x-pack/plugins/cloud/public/plugin.tsx @@ -31,6 +31,7 @@ export interface CloudConfigType { is_elastic_staff_owned?: boolean; serverless?: { project_id: string; + project_name?: string; }; } @@ -91,6 +92,7 @@ export class CloudPlugin implements Plugin { isServerlessEnabled: this.isServerlessEnabled, serverless: { projectId: this.config.serverless?.project_id, + projectName: this.config.serverless?.project_name, }, registerCloudService: (contextProvider) => { this.contextProviders.push(contextProvider); @@ -145,6 +147,7 @@ export class CloudPlugin implements Plugin { isServerlessEnabled: this.isServerlessEnabled, serverless: { projectId: this.config.serverless?.project_id, + projectName: this.config.serverless?.project_name, }, performanceUrl, usersAndRolesUrl, diff --git a/x-pack/plugins/cloud/public/types.ts b/x-pack/plugins/cloud/public/types.ts index a42730905c9c7..766a0050587d8 100644 --- a/x-pack/plugins/cloud/public/types.ts +++ b/x-pack/plugins/cloud/public/types.ts @@ -72,6 +72,11 @@ export interface CloudStart { * Will always be present if `isServerlessEnabled` is `true` */ projectId?: string; + /** + * The serverless project name. + * Will always be present if `isServerlessEnabled` is `true` + */ + projectName?: string; }; } @@ -172,5 +177,10 @@ export interface CloudSetup { * Will always be present if `isServerlessEnabled` is `true` */ projectId?: string; + /** + * The serverless project name. + * Will always be present if `isServerlessEnabled` is `true` + */ + projectName?: string; }; } diff --git a/x-pack/plugins/cloud/server/__snapshots__/plugin.test.ts.snap b/x-pack/plugins/cloud/server/__snapshots__/plugin.test.ts.snap index 505c66345d77b..fd8942409b388 100644 --- a/x-pack/plugins/cloud/server/__snapshots__/plugin.test.ts.snap +++ b/x-pack/plugins/cloud/server/__snapshots__/plugin.test.ts.snap @@ -20,6 +20,7 @@ Object { "projectsUrl": "https://cloud.elastic.co/projects/", "serverless": Object { "projectId": undefined, + "projectName": undefined, }, "trialEndDate": undefined, } diff --git a/x-pack/plugins/cloud/server/config.test.ts b/x-pack/plugins/cloud/server/config.test.ts new file mode 100644 index 0000000000000..e1cc0107d9494 --- /dev/null +++ b/x-pack/plugins/cloud/server/config.test.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { config } from './config'; + +describe('Cloud plugin config', () => { + it('evicts unknown properties under the `serverless` structure', () => { + const output = config.schema.validate({ + serverless: { + project_id: 'project_id', + unknown_prop: 'some unknown prop', + }, + }); + + expect(output.serverless).toEqual({ + project_id: 'project_id', + }); + }); +}); diff --git a/x-pack/plugins/cloud/server/config.ts b/x-pack/plugins/cloud/server/config.ts index d1fb2bb1f44ab..8ffc0906252cf 100644 --- a/x-pack/plugins/cloud/server/config.ts +++ b/x-pack/plugins/cloud/server/config.ts @@ -33,9 +33,14 @@ const configSchema = schema.object({ trial_end_date: schema.maybe(schema.string()), is_elastic_staff_owned: schema.maybe(schema.boolean()), serverless: schema.maybe( - schema.object({ - project_id: schema.string(), - }) + schema.object( + { + project_id: schema.string(), + project_name: schema.maybe(schema.string()), + }, + // avoid future chicken-and-egg situation with the component populating the config + { unknowns: 'ignore' } + ) ), }); @@ -57,6 +62,7 @@ export const config: PluginConfigDescriptor = { is_elastic_staff_owned: true, serverless: { project_id: true, + project_name: true, }, }, schema: configSchema, diff --git a/x-pack/plugins/cloud/server/mocks.ts b/x-pack/plugins/cloud/server/mocks.ts index 6f06b9639d960..01352ac9dab0a 100644 --- a/x-pack/plugins/cloud/server/mocks.ts +++ b/x-pack/plugins/cloud/server/mocks.ts @@ -28,6 +28,7 @@ function createSetupMock(): jest.Mocked { isServerlessEnabled: false, serverless: { projectId: undefined, + projectName: undefined, }, }; } diff --git a/x-pack/plugins/cloud/server/plugin.test.ts b/x-pack/plugins/cloud/server/plugin.test.ts index 0309271a8ea63..7790be5e36e28 100644 --- a/x-pack/plugins/cloud/server/plugin.test.ts +++ b/x-pack/plugins/cloud/server/plugin.test.ts @@ -124,6 +124,16 @@ describe('Cloud Plugin', () => { }); expect(setup.serverless.projectId).toBe('my-awesome-project'); }); + + it('exposes `serverless.projectName`', () => { + const { setup } = setupPlugin({ + serverless: { + project_id: 'my-awesome-project', + project_name: 'My Awesome Project', + }, + }); + expect(setup.serverless.projectName).toBe('My Awesome Project'); + }); }); }); diff --git a/x-pack/plugins/cloud/server/plugin.ts b/x-pack/plugins/cloud/server/plugin.ts index 5838f5086fa53..efdcf9ebbe216 100644 --- a/x-pack/plugins/cloud/server/plugin.ts +++ b/x-pack/plugins/cloud/server/plugin.ts @@ -106,6 +106,11 @@ export interface CloudSetup { * Will always be present if `isServerlessEnabled` is `true` */ projectId?: string; + /** + * The serverless project name. + * Will always be present if `isServerlessEnabled` is `true` + */ + projectName?: string; }; } @@ -175,6 +180,7 @@ export class CloudPlugin implements Plugin { isServerlessEnabled, serverless: { projectId: this.config.serverless?.project_id, + projectName: this.config.serverless?.project_name, }, }; } diff --git a/x-pack/plugins/fleet/.storybook/context/cloud.ts b/x-pack/plugins/fleet/.storybook/context/cloud.ts index fbb0b3f85ac5e..9acbbd221059b 100644 --- a/x-pack/plugins/fleet/.storybook/context/cloud.ts +++ b/x-pack/plugins/fleet/.storybook/context/cloud.ts @@ -21,6 +21,7 @@ export const getCloud = ({ isCloudEnabled }: { isCloudEnabled: boolean }) => { isServerlessEnabled: false, serverless: { projectId: undefined, + projectName: undefined, }, }; From 5280053614c837598e18cfe7ce28b52fcc0eb66d Mon Sep 17 00:00:00 2001 From: Abdon Pijpelink Date: Thu, 14 Sep 2023 12:08:04 +0200 Subject: [PATCH 019/149] [DOCS] Remove 'coming in 8.10' from changelog (#166427) --- docs/CHANGELOG.asciidoc | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index be7c61d99e095..431f3dafe186b 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -51,8 +51,6 @@ Review important information about the {kib} 8.x releases. [[release-notes-8.10.0]] == {kib} 8.10.0 -coming::[8.10.0] - For information about the {kib} 8.10.0 release, review the following information. [float] From 94219bd1e9c4ad868d5e57a303b45e84c1b2e6bb Mon Sep 17 00:00:00 2001 From: James Rodewig Date: Thu, 14 Sep 2023 06:08:35 -0400 Subject: [PATCH 020/149] [DOCS] Fix `welcome-to-elastic` link (#166357) **Problem:** In https://github.com/elastic/docs/pull/2752, we updated the URL prefix (`welcome-to-elastic`) and name for the "Welcome to Elastic Docs" docs. However, we still have some stray links that use the old `/welcome-to-elastic` URL prefix **Solution:** Update an outdated link. --- docs/landing-page.asciidoc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/landing-page.asciidoc b/docs/landing-page.asciidoc index 79b7fdf2a7ec4..8d806d574129a 100644 --- a/docs/landing-page.asciidoc +++ b/docs/landing-page.asciidoc @@ -259,7 +259,7 @@
- +

From d7451f6215c5fc269ac9718f63953879cf2ce213 Mon Sep 17 00:00:00 2001 From: Yngrid Coello Date: Thu, 14 Sep 2023 12:46:22 +0200 Subject: [PATCH 021/149] [Logs onboarding] Making onboarding boxes clickable (#166422) Closes https://github.com/elastic/kibana/issues/166000. ### Before ![image](https://github.com/elastic/kibana/assets/1313018/cbb66ff5-3a84-4ad6-88de-14e8f98c0c6a) ### After image ### How to test 1. Go to[ logs onboarding](https://yngrdyn-deploy-kiban-pr166422.kb.us-west2.gcp.elastic-cloud.com/app/observabilityOnboarding) landing page 2. Verify the folllowing - Cards are clickable. `Get started` buttons should remain clickable as well. - Cards description is centered --- .../public/components/app/home/index.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/observability_onboarding/public/components/app/home/index.tsx b/x-pack/plugins/observability_onboarding/public/components/app/home/index.tsx index 13aec2ff31c06..9ea11e6fe0a5d 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/home/index.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/home/index.tsx @@ -139,11 +139,12 @@ export function Home() { paddingSize="l" display="plain" hasBorder + onClick={handleClickSystemLogs} > {elasticAgentLabel} - +

{i18n.translate( 'xpack.observability_onboarding.card.systemLogs.description1', @@ -177,11 +178,12 @@ export function Home() { paddingSize="l" display="plain" hasBorder + onClick={handleClickCustomLogs} > {elasticAgentLabel} - +

{i18n.translate( 'xpack.observability_onboarding.card.customLogs.description.text', @@ -263,6 +265,7 @@ export function Home() { paddingSize="m" display="plain" hasBorder + onClick={handleClickKubernetesSetupGuide} /> From 688980ce343ad27a462ff8270e17c869f8ab581f Mon Sep 17 00:00:00 2001 From: Yngrid Coello Date: Thu, 14 Sep 2023 12:46:59 +0200 Subject: [PATCH 022/149] [Logs onboarding] Remove inspect button at the end of the flow (#166423) Closes https://github.com/elastic/kibana/issues/166256. ### Before ![image](https://github.com/elastic/kibana/assets/1313018/1f73cbb5-3acc-471d-9281-8c62d0ef0abb) ### After image ### How to test 1. Go to [logs onboarding](https://yngrdyn-deploy-kiban-pr166423.kb.us-west2.gcp.elastic-cloud.com/app/observabilityOnboarding) landing page 2. Select `Stream log files` type of onboarding 3. Fill out the required fields 4. Go to next step 5. Verify that `Inspect` button is no longer next to `Explore logs` button --- .../public/application/app.tsx | 2 +- .../{wizard => }/api_key_banner.tsx | 2 +- .../custom_logs/{wizard => }/back_button.tsx | 0 .../{wizard => }/configure_logs.tsx | 4 +- .../custom_logs/{wizard => }/get_filename.ts | 0 .../app/custom_logs/{wizard => }/index.tsx | 2 +- .../app/custom_logs/{wizard => }/inspect.tsx | 2 +- .../{wizard => }/install_elastic_agent.tsx | 63 +++++++------------ .../custom_logs/{wizard => }/select_logs.tsx | 4 +- .../app/system_logs/install_elastic_agent.tsx | 2 +- .../public/routes/index.tsx | 2 +- .../public/routes/templates/custom_logs.tsx | 2 +- .../translations/translations/fr-FR.json | 1 - .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - 15 files changed, 32 insertions(+), 56 deletions(-) rename x-pack/plugins/observability_onboarding/public/components/app/custom_logs/{wizard => }/api_key_banner.tsx (98%) rename x-pack/plugins/observability_onboarding/public/components/app/custom_logs/{wizard => }/back_button.tsx (100%) rename x-pack/plugins/observability_onboarding/public/components/app/custom_logs/{wizard => }/configure_logs.tsx (99%) rename x-pack/plugins/observability_onboarding/public/components/app/custom_logs/{wizard => }/get_filename.ts (100%) rename x-pack/plugins/observability_onboarding/public/components/app/custom_logs/{wizard => }/index.tsx (97%) rename x-pack/plugins/observability_onboarding/public/components/app/custom_logs/{wizard => }/inspect.tsx (97%) rename x-pack/plugins/observability_onboarding/public/components/app/custom_logs/{wizard => }/install_elastic_agent.tsx (86%) rename x-pack/plugins/observability_onboarding/public/components/app/custom_logs/{wizard => }/select_logs.tsx (98%) diff --git a/x-pack/plugins/observability_onboarding/public/application/app.tsx b/x-pack/plugins/observability_onboarding/public/application/app.tsx index 0646e0d800924..93a62f5f378e3 100644 --- a/x-pack/plugins/observability_onboarding/public/application/app.tsx +++ b/x-pack/plugins/observability_onboarding/public/application/app.tsx @@ -26,7 +26,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { RouteComponentProps, RouteProps } from 'react-router-dom'; import { ConfigSchema } from '..'; -import { customLogsRoutes } from '../components/app/custom_logs/wizard'; +import { customLogsRoutes } from '../components/app/custom_logs'; import { systemLogsRoutes } from '../components/app/system_logs'; import { ObservabilityOnboardingHeaderActionMenu } from '../components/app/header_action_menu'; import { diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/api_key_banner.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/api_key_banner.tsx similarity index 98% rename from x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/api_key_banner.tsx rename to x-pack/plugins/observability_onboarding/public/components/app/custom_logs/api_key_banner.tsx index b0d6b5f9e6c26..46d39cd70c31c 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/api_key_banner.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/api_key_banner.tsx @@ -18,7 +18,7 @@ import { IHttpFetchError, ResponseErrorBody } from '@kbn/core-http-browser'; import { i18n } from '@kbn/i18n'; import { FETCH_STATUS } from '@kbn/observability-shared-plugin/public'; import React from 'react'; -import { APIReturnType } from '../../../../services/rest/create_call_api'; +import { APIReturnType } from '../../../services/rest/create_call_api'; type ApiKeyPayload = APIReturnType<'POST /internal/observability_onboarding/logs/flow'>; diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/back_button.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/back_button.tsx similarity index 100% rename from x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/back_button.tsx rename to x-pack/plugins/observability_onboarding/public/components/app/custom_logs/back_button.tsx diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx similarity index 99% rename from x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx rename to x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx index 9a6d83a3c84b3..1e438e1dd0e66 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx @@ -35,12 +35,12 @@ import { } from '@kbn/custom-integrations'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import { useWizard } from '.'; -import { OptionalFormRow } from '../../../shared/optional_form_row'; +import { OptionalFormRow } from '../../shared/optional_form_row'; import { StepPanel, StepPanelContent, StepPanelFooter, -} from '../../../shared/step_panel'; +} from '../../shared/step_panel'; import { BackButton } from './back_button'; import { getFilename } from './get_filename'; diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/get_filename.ts b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/get_filename.ts similarity index 100% rename from x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/get_filename.ts rename to x-pack/plugins/observability_onboarding/public/components/app/custom_logs/get_filename.ts diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/index.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/index.tsx similarity index 97% rename from x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/index.tsx rename to x-pack/plugins/observability_onboarding/public/components/app/custom_logs/index.tsx index 9fb2f2ecf9536..81d7faf448a48 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/index.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/index.tsx @@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n'; import { createWizardContext, Step, -} from '../../../../context/create_wizard_context'; +} from '../../../context/create_wizard_context'; import { ConfigureLogs } from './configure_logs'; import { Inspect } from './inspect'; import { InstallElasticAgent } from './install_elastic_agent'; diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/inspect.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/inspect.tsx similarity index 97% rename from x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/inspect.tsx rename to x-pack/plugins/observability_onboarding/public/components/app/custom_logs/inspect.tsx index 2a9074e6976e1..b632fd6e84ffc 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/inspect.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/inspect.tsx @@ -11,7 +11,7 @@ import { StepPanel, StepPanelContent, StepPanelFooter, -} from '../../../shared/step_panel'; +} from '../../shared/step_panel'; import { useWizard } from '.'; import { BackButton } from './back_button'; diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/install_elastic_agent.tsx similarity index 86% rename from x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx rename to x-pack/plugins/observability_onboarding/public/components/app/custom_logs/install_elastic_agent.tsx index 2457d75d4f543..fc8e36626c4cd 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/install_elastic_agent.tsx @@ -7,10 +7,7 @@ import { EuiButton, - EuiButtonEmpty, EuiCallOut, - EuiFlexGroup, - EuiFlexItem, EuiHorizontalRule, EuiSpacer, EuiText, @@ -18,28 +15,28 @@ import { import { i18n } from '@kbn/i18n'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import { default as React, useCallback, useEffect, useState } from 'react'; -import { ObservabilityOnboardingPluginSetupDeps } from '../../../../plugin'; +import { ObservabilityOnboardingPluginSetupDeps } from '../../../plugin'; import { useWizard } from '.'; -import { FETCH_STATUS, useFetcher } from '../../../../hooks/use_fetcher'; +import { FETCH_STATUS, useFetcher } from '../../../hooks/use_fetcher'; import { ElasticAgentPlatform, getElasticAgentSetupCommand, -} from '../../../shared/get_elastic_agent_setup_command'; +} from '../../shared/get_elastic_agent_setup_command'; import { InstallElasticAgentSteps, ProgressStepId, EuiStepStatus, -} from '../../../shared/install_elastic_agent_steps'; +} from '../../shared/install_elastic_agent_steps'; import { StepPanel, StepPanelContent, StepPanelFooter, -} from '../../../shared/step_panel'; +} from '../../shared/step_panel'; import { ApiKeyBanner } from './api_key_banner'; import { BackButton } from './back_button'; -import { getDiscoverNavigationParams } from '../../utils'; -import { WindowsInstallStep } from '../../../shared/windows_install_step'; -import { TroubleshootingLink } from '../../../shared/troubleshooting_link'; +import { getDiscoverNavigationParams } from '../utils'; +import { WindowsInstallStep } from '../../shared/windows_install_step'; +import { TroubleshootingLink } from '../../shared/troubleshooting_link'; export function InstallElasticAgent() { const { @@ -47,14 +44,11 @@ export function InstallElasticAgent() { discover: { locator }, }, } = useKibana(); - const { goBack, goToStep, getState, setState } = useWizard(); + const { goBack, getState, setState } = useWizard(); const wizardState = getState(); const [elasticAgentPlatform, setElasticAgentPlatform] = useState('linux-tar'); - function onInspect() { - goToStep('inspect'); - } async function onContinue() { await locator?.navigate( getDiscoverNavigationParams([wizardState.datasetName]) @@ -235,33 +229,18 @@ export function InstallElasticAgent() { , - - - - {i18n.translate( - 'xpack.observability_onboarding.steps.inspect', - { defaultMessage: 'Inspect' } - )} - - - - - {i18n.translate( - 'xpack.observability_onboarding.steps.exploreLogs', - { defaultMessage: 'Explore logs' } - )} - - - , + + {i18n.translate( + 'xpack.observability_onboarding.steps.exploreLogs', + { defaultMessage: 'Explore logs' } + )} + , ]} /> } diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/select_logs.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/select_logs.tsx similarity index 98% rename from x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/select_logs.tsx rename to x-pack/plugins/observability_onboarding/public/components/app/custom_logs/select_logs.tsx index d0712346c1b61..7bed69c1c8f9b 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/select_logs.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/select_logs.tsx @@ -25,9 +25,9 @@ import { StepPanel, StepPanelContent, StepPanelFooter, -} from '../../../shared/step_panel'; +} from '../../shared/step_panel'; import { useWizard } from '.'; -import { useKibanaNavigation } from '../../../../hooks/use_kibana_navigation'; +import { useKibanaNavigation } from '../../../hooks/use_kibana_navigation'; export function SelectLogs() { const { navigateToKibanaUrl, navigateToAppUrl } = useKibanaNavigation(); diff --git a/x-pack/plugins/observability_onboarding/public/components/app/system_logs/install_elastic_agent.tsx b/x-pack/plugins/observability_onboarding/public/components/app/system_logs/install_elastic_agent.tsx index 4a753161d39b0..9b07c56f84a33 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/system_logs/install_elastic_agent.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/system_logs/install_elastic_agent.tsx @@ -35,7 +35,7 @@ import { StepPanelContent, StepPanelFooter, } from '../../shared/step_panel'; -import { ApiKeyBanner } from '../custom_logs/wizard/api_key_banner'; +import { ApiKeyBanner } from '../custom_logs/api_key_banner'; import { getDiscoverNavigationParams } from '../utils'; import { WindowsInstallStep } from '../../shared/windows_install_step'; import { SystemIntegrationBanner } from './system_integration_banner'; diff --git a/x-pack/plugins/observability_onboarding/public/routes/index.tsx b/x-pack/plugins/observability_onboarding/public/routes/index.tsx index 66a99343be2b2..35044a98df050 100644 --- a/x-pack/plugins/observability_onboarding/public/routes/index.tsx +++ b/x-pack/plugins/observability_onboarding/public/routes/index.tsx @@ -8,7 +8,7 @@ import * as t from 'io-ts'; import React from 'react'; import { Redirect } from 'react-router-dom'; -import { customLogsRoutes } from '../components/app/custom_logs/wizard'; +import { customLogsRoutes } from '../components/app/custom_logs'; import { systemLogsRoutes } from '../components/app/system_logs'; import { Home } from '../components/app/home'; diff --git a/x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx b/x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx index da30df8a11eac..bd31340edbf21 100644 --- a/x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx +++ b/x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx @@ -10,7 +10,7 @@ import { i18n } from '@kbn/i18n'; import { useBreadcrumbs } from '@kbn/observability-shared-plugin/public'; import React, { ComponentType, useRef, useState } from 'react'; import { breadcrumbsApp } from '../../application/app'; -import { Provider as WizardProvider } from '../../components/app/custom_logs/wizard'; +import { Provider as WizardProvider } from '../../components/app/custom_logs'; import { FilmstripFrame, FilmstripTransition, diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 1fa00f4c26eb8..cf4d39d5fa9cd 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -27097,7 +27097,6 @@ "xpack.observability_onboarding.selectLogs.useOwnShipper.description": "Utilisez votre propre agent de transfert pour collecter des données de logs en générant une clé d’API.", "xpack.observability_onboarding.steps.back": "Retour", "xpack.observability_onboarding.steps.exploreLogs": "Explorer les logs", - "xpack.observability_onboarding.steps.inspect": "Inspecter", "xpack.observability_onboarding.title.collectCustomLogs": "Collectez des logs personnalisés", "xpack.observability.apmEnableContinuousRollupsDescription": "{betaLabel} Lorsque les cumuls continus sont activés, l'interface utilisateur sélectionne des indicateurs ayant la résolution appropriée. Sur des plages temporelles plus larges, des indicateurs de résolution inférieure sont utilisés, ce qui améliore les temps de chargement.", "xpack.observability.apmEnableServiceMetricsDescription": "{betaLabel} Permet l'utilisation d'indicateurs de transaction de service. Il s'agit d'indicateurs à faible cardinalité qui peuvent être utilisés par certaines vues, comme l'inventaire de service, pour accélérer le chargement.", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index dc973df003738..5e5e0c270da7d 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -27097,7 +27097,6 @@ "xpack.observability_onboarding.selectLogs.useOwnShipper.description": "APIキーを生成し、ログデータを収集するために独自のシッパーを使用します。", "xpack.observability_onboarding.steps.back": "戻る", "xpack.observability_onboarding.steps.exploreLogs": "ログを探索", - "xpack.observability_onboarding.steps.inspect": "検査", "xpack.observability_onboarding.title.collectCustomLogs": "カスタムログを収集", "xpack.observability.apmEnableContinuousRollupsDescription": "{betaLabel}連続ロールアップが有効な場合、UIは適切な解像度でメトリックを選択します。より大きな時間範囲では、より低い解像度の測定基準が使用され、読み込み時間が改善されます。", "xpack.observability.apmEnableServiceMetricsDescription": "{betaLabel}サービストランザクションメトリックの使用を有効にします。これは、サービスインベントリなどの特定のビューで使用できる低カーディナリティのメトリックで、読み込み時間を短縮します。", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 621d57a7d1533..fb9e9ab806a35 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -27095,7 +27095,6 @@ "xpack.observability_onboarding.selectLogs.useOwnShipper.description": "通过生成 API 密钥使用您自己的采集器来收集日志数据。", "xpack.observability_onboarding.steps.back": "返回", "xpack.observability_onboarding.steps.exploreLogs": "浏览日志", - "xpack.observability_onboarding.steps.inspect": "检查", "xpack.observability_onboarding.title.collectCustomLogs": "收集定制日志", "xpack.observability.apmEnableContinuousRollupsDescription": "{betaLabel} 启用连续汇总/打包时,UI 将以适当分辨率选择指标。在更大时间范围内,将使用分辨率较低的指标,这会缩短加载时间。", "xpack.observability.apmEnableServiceMetricsDescription": "{betaLabel} 启用服务事务指标,这种是低基数指标,可供某些视图(如服务库存)使用来加快加载速度。", From d78ecfea345f0a044d2b96cd0d8145ba24a56ae6 Mon Sep 17 00:00:00 2001 From: Kevin Lacabane Date: Thu, 14 Sep 2023 12:55:13 +0200 Subject: [PATCH 023/149] [Metrics] metrics_data_access plugin (#164094) ## Summary Closes https://github.com/elastic/kibana/issues/161876 Creates a plugin providing utilities to access metrics data. The plugin only exposes a server API which includes a client with two methods: - `getMetricIndices` to retrieve the user-defined indices where metrics are located - `updateMetricIndices` to update the indices The client is now used where we previously relied on infra plugin to provide the configuration, in APM and Infra. The plugin persists the configuration in a new saved object `metrics-data-source`. Because this configuration was previously stored in the `infrastructure-ui-source`, the plugin relies on a fallback to reuse any existing value (see additional context https://github.com/elastic/kibana/issues/161876#issuecomment-1673537400). ### Reviewers There are no functional changes outside of Infra Monitoring UI and APM UI, other codeowners are involved because this introduces a new saved object - APM - the change introduces a drop-in replacement of the `infra.getMetricIndices` call. The ui code still relies on infra plugin for a couple of components so we can't drop the dependency yet, those we'll need to be moved to a tier 2 plugin (more details in https://github.com/elastic/observability-dev/discussions/2787 (internal)) in a separate issue ### Testing You'll need metrics data to verify data fetching works (I've used an edge-oblt cluster) 1. Navigate to Infrastructure Settings and verify metric indices are configured with the default value of `infrastructure-ui-source` 2. Update metric indices settings (if connected to oblt cluster add `remote_cluster:..` indices) 3. Verify `metrics-data-source` saved object is persisted with correct attributes 4. Verify Infrastructure Inventory is pulling data from the newly configured indices 5. Go to APM services, verify service Infrastructure pulls data from newly configured indices --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Jason Rhodes --- .github/CODEOWNERS | 1 + docs/developer/plugin-list.asciidoc | 4 ++ package.json | 1 + .../current_mappings.json | 4 ++ .../kbn_client/kbn_client_saved_objects.ts | 1 + .../group2/check_registered_types.test.ts | 1 + .../group3/type_registrations.test.ts | 1 + .../group5/dot_kibana_split.test.ts | 1 + tsconfig.base.json | 2 + x-pack/plugins/apm/kibana.jsonc | 1 + .../create_infra_metrics_client.ts | 8 +-- x-pack/plugins/apm/server/types.ts | 6 +- x-pack/plugins/apm/tsconfig.json | 1 + x-pack/plugins/infra/kibana.jsonc | 1 + x-pack/plugins/infra/server/features.ts | 5 +- .../lib/adapters/framework/adapter_types.ts | 2 + .../metric_threshold_executor.test.ts | 4 ++ .../plugins/infra/server/lib/infra_types.ts | 2 + .../metrics/make_get_metric_indices.test.ts | 30 ---------- .../lib/metrics/make_get_metric_indices.ts | 16 ------ .../plugins/infra/server/lib/sources/mocks.ts | 1 + .../infra/server/lib/sources/sources.test.ts | 10 ++++ .../infra/server/lib/sources/sources.ts | 29 +++++++++- x-pack/plugins/infra/server/mocks.ts | 1 - x-pack/plugins/infra/server/plugin.ts | 15 ++++- x-pack/plugins/infra/server/types.ts | 10 +--- x-pack/plugins/infra/tsconfig.json | 1 + x-pack/plugins/metrics_data_access/README.md | 3 + .../metrics_data_access/jest.config.js | 15 +++++ .../plugins/metrics_data_access/kibana.jsonc | 15 +++++ .../server/client/client.test.ts | 55 +++++++++++++++++++ .../server/client/client.ts | 55 +++++++++++++++++++ .../server/client/index.ts | 8 +++ .../metrics_data_access/server/index.ts | 24 ++++++++ .../metrics_data_access/server/plugin.ts | 32 +++++++++++ .../metrics_data_source/index.ts | 33 +++++++++++ .../metrics_data_access/server/types.ts | 26 +++++++++ .../plugins/metrics_data_access/tsconfig.json | 12 ++++ yarn.lock | 4 ++ 39 files changed, 372 insertions(+), 69 deletions(-) delete mode 100644 x-pack/plugins/infra/server/lib/metrics/make_get_metric_indices.test.ts delete mode 100644 x-pack/plugins/infra/server/lib/metrics/make_get_metric_indices.ts create mode 100755 x-pack/plugins/metrics_data_access/README.md create mode 100644 x-pack/plugins/metrics_data_access/jest.config.js create mode 100644 x-pack/plugins/metrics_data_access/kibana.jsonc create mode 100644 x-pack/plugins/metrics_data_access/server/client/client.test.ts create mode 100644 x-pack/plugins/metrics_data_access/server/client/client.ts create mode 100644 x-pack/plugins/metrics_data_access/server/client/index.ts create mode 100644 x-pack/plugins/metrics_data_access/server/index.ts create mode 100644 x-pack/plugins/metrics_data_access/server/plugin.ts create mode 100644 x-pack/plugins/metrics_data_access/server/saved_objects/metrics_data_source/index.ts create mode 100644 x-pack/plugins/metrics_data_access/server/types.ts create mode 100644 x-pack/plugins/metrics_data_access/tsconfig.json diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 5f7502062abdc..62c41894801c1 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -495,6 +495,7 @@ x-pack/examples/third_party_maps_source_example @elastic/kibana-gis src/plugins/maps_ems @elastic/kibana-gis x-pack/plugins/maps @elastic/kibana-gis x-pack/packages/maps/vector_tile_utils @elastic/kibana-gis +x-pack/plugins/metrics_data_access @elastic/infra-monitoring-ui x-pack/packages/ml/agg_utils @elastic/ml-ui x-pack/packages/ml/anomaly_utils @elastic/ml-ui x-pack/packages/ml/category_validator @elastic/ml-ui diff --git a/docs/developer/plugin-list.asciidoc b/docs/developer/plugin-list.asciidoc index 9321e7499f9b4..48190bc8929be 100644 --- a/docs/developer/plugin-list.asciidoc +++ b/docs/developer/plugin-list.asciidoc @@ -648,6 +648,10 @@ using the CURL scripts in the scripts folder. |Visualize geo data from Elasticsearch or 3rd party geo-services. +|{kib-repo}blob/{branch}/x-pack/plugins/metrics_data_access/README.md[metricsDataAccess] +|Exposes utilities to access metrics data. + + |{kib-repo}blob/{branch}/x-pack/plugins/ml/readme.md[ml] |This plugin provides access to the machine learning features provided by Elastic. diff --git a/package.json b/package.json index 08d889905d37d..4ec34c1830a86 100644 --- a/package.json +++ b/package.json @@ -514,6 +514,7 @@ "@kbn/maps-ems-plugin": "link:src/plugins/maps_ems", "@kbn/maps-plugin": "link:x-pack/plugins/maps", "@kbn/maps-vector-tile-utils": "link:x-pack/packages/maps/vector_tile_utils", + "@kbn/metrics-data-access-plugin": "link:x-pack/plugins/metrics_data_access", "@kbn/ml-agg-utils": "link:x-pack/packages/ml/agg_utils", "@kbn/ml-anomaly-utils": "link:x-pack/packages/ml/anomaly_utils", "@kbn/ml-category-validator": "link:x-pack/packages/ml/category_validator", diff --git a/packages/kbn-check-mappings-update-cli/current_mappings.json b/packages/kbn-check-mappings-update-cli/current_mappings.json index 4e0e5a1028fa1..83168a1815859 100644 --- a/packages/kbn-check-mappings-update-cli/current_mappings.json +++ b/packages/kbn-check-mappings-update-cli/current_mappings.json @@ -42,6 +42,10 @@ } } }, + "metrics-data-source": { + "dynamic": false, + "properties": {} + }, "url": { "dynamic": false, "properties": { diff --git a/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts b/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts index 75e093b047158..c64c9d7a543aa 100644 --- a/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts +++ b/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts @@ -105,6 +105,7 @@ const STANDARD_LIST_TYPES = [ 'osquery-saved-query', 'osquery-pack', 'infrastructure-ui-source', + 'metrics-data-source', 'metrics-explorer-view', 'inventory-view', 'infrastructure-monitoring-log-view', diff --git a/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts index 43890b88dbdb5..594c4faa9337f 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group2/check_registered_types.test.ts @@ -115,6 +115,7 @@ describe('checking migration metadata changes on all registered SO types', () => "lens-ui-telemetry": "8c47a9e393861f76e268345ecbadfc8a5fb1e0bd", "maintenance-window": "d893544460abad56ff7a0e25b78f78776dfe10d1", "map": "76c71023bd198fb6b1163b31bafd926fe2ceb9da", + "metrics-data-source": "81b69dc9830699d9ead5ac8dcb9264612e2a3c89", "metrics-explorer-view": "98cf395d0e87b89ab63f173eae16735584a8ff42", "ml-job": "150e1ab260e87f9963cc99e013304b9c54703dab", "ml-module": "2225cbb4bd508ea5f69db4b848be9d8a74b60198", diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts index 61294c22a160e..1809437f3cdcd 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts @@ -84,6 +84,7 @@ const previouslyRegisteredTypes = [ 'maintenance-window', 'map', 'maps-telemetry', + 'metrics-data-source', 'metrics-explorer-view', 'ml-job', 'ml-trained-model', diff --git a/src/core/server/integration_tests/saved_objects/migrations/group5/dot_kibana_split.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group5/dot_kibana_split.test.ts index 6581541e70244..636e70cd9dd9e 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group5/dot_kibana_split.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group5/dot_kibana_split.test.ts @@ -235,6 +235,7 @@ describe('split .kibana index into multiple system indices', () => { "lens-ui-telemetry", "maintenance-window", "map", + "metrics-data-source", "metrics-explorer-view", "ml-job", "ml-module", diff --git a/tsconfig.base.json b/tsconfig.base.json index 2c1168feaf0c5..178df4e7c449f 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -984,6 +984,8 @@ "@kbn/maps-plugin/*": ["x-pack/plugins/maps/*"], "@kbn/maps-vector-tile-utils": ["x-pack/packages/maps/vector_tile_utils"], "@kbn/maps-vector-tile-utils/*": ["x-pack/packages/maps/vector_tile_utils/*"], + "@kbn/metrics-data-access-plugin": ["x-pack/plugins/metrics_data_access"], + "@kbn/metrics-data-access-plugin/*": ["x-pack/plugins/metrics_data_access/*"], "@kbn/ml-agg-utils": ["x-pack/packages/ml/agg_utils"], "@kbn/ml-agg-utils/*": ["x-pack/packages/ml/agg_utils/*"], "@kbn/ml-anomaly-utils": ["x-pack/packages/ml/anomaly_utils"], diff --git a/x-pack/plugins/apm/kibana.jsonc b/x-pack/plugins/apm/kibana.jsonc index 42f969f5a3ee1..5cdc440e0ff24 100644 --- a/x-pack/plugins/apm/kibana.jsonc +++ b/x-pack/plugins/apm/kibana.jsonc @@ -18,6 +18,7 @@ "logsShared", "inspector", "licensing", + "metricsDataAccess", "observability", "observabilityShared", "exploratoryView", diff --git a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_infra_metrics_client/create_infra_metrics_client.ts b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_infra_metrics_client/create_infra_metrics_client.ts index 0128d6aa92d21..f7ae6ea53147a 100644 --- a/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_infra_metrics_client/create_infra_metrics_client.ts +++ b/x-pack/plugins/apm/server/lib/helpers/create_es_client/create_infra_metrics_client/create_infra_metrics_client.ts @@ -6,8 +6,7 @@ */ import { ESSearchRequest, InferSearchResponseOf } from '@kbn/es-types'; -import { APMRouteHandlerResources } from '../../../../routes/apm_routes/register_apm_server_routes'; -import { getInfraMetricIndices } from '../../get_infra_metric_indices'; +import { APMRouteHandlerResources } from '../../../../routes/typings'; type InfraMetricsSearchParams = Omit & { size: number; @@ -17,6 +16,8 @@ type InfraMetricsSearchParams = Omit & { export type InfraMetricsClient = ReturnType; export function createInfraMetricsClient(resources: APMRouteHandlerResources) { + const metricsClient = resources.plugins.metricsDataAccess.setup.client; + return { async search( opts: TParams @@ -26,8 +27,7 @@ export function createInfraMetricsClient(resources: APMRouteHandlerResources) { elasticsearch: { client: esClient }, } = await resources.context.core; - const indexName = await getInfraMetricIndices({ - infraPlugin: resources.plugins.infra, + const indexName = await metricsClient.getMetricIndices({ savedObjectsClient, }); diff --git a/x-pack/plugins/apm/server/types.ts b/x-pack/plugins/apm/server/types.ts index ffe875e0e6d91..10687e3757849 100644 --- a/x-pack/plugins/apm/server/types.ts +++ b/x-pack/plugins/apm/server/types.ts @@ -54,7 +54,7 @@ import { FleetSetupContract as FleetPluginSetup, FleetStartContract as FleetPluginStart, } from '@kbn/fleet-plugin/server'; -import { InfraPluginStart, InfraPluginSetup } from '@kbn/infra-plugin/server'; +import { MetricsDataPluginSetup } from '@kbn/metrics-data-access-plugin/server'; import { DataViewsServerPluginStart } from '@kbn/data-views-plugin/server'; import { @@ -79,7 +79,7 @@ export interface APMPluginSetupDependencies { licensing: LicensingPluginSetup; observability: ObservabilityPluginSetup; ruleRegistry: RuleRegistryPluginSetupContract; - infra?: InfraPluginSetup; + metricsDataAccess: MetricsDataPluginSetup; dataViews: {}; share: SharePluginSetup; @@ -105,7 +105,7 @@ export interface APMPluginStartDependencies { licensing: LicensingPluginStart; observability: undefined; ruleRegistry: RuleRegistryPluginStartContract; - infra: InfraPluginStart; + metricsDataAccess: MetricsDataPluginSetup; dataViews: DataViewsServerPluginStart; share: undefined; diff --git a/x-pack/plugins/apm/tsconfig.json b/x-pack/plugins/apm/tsconfig.json index edfcdda7a2006..fe859abb02ec4 100644 --- a/x-pack/plugins/apm/tsconfig.json +++ b/x-pack/plugins/apm/tsconfig.json @@ -96,6 +96,7 @@ "@kbn/discover-plugin", "@kbn/observability-ai-assistant-plugin", "@kbn/apm-data-access-plugin", + "@kbn/metrics-data-access-plugin", "@kbn/profiling-data-access-plugin", "@kbn/profiling-utils", "@kbn/core-analytics-server", diff --git a/x-pack/plugins/infra/kibana.jsonc b/x-pack/plugins/infra/kibana.jsonc index ee8e8baa83337..60731cf699ccd 100644 --- a/x-pack/plugins/infra/kibana.jsonc +++ b/x-pack/plugins/infra/kibana.jsonc @@ -21,6 +21,7 @@ "fieldFormats", "lens", "logsShared", + "metricsDataAccess", "observability", "observabilityAIAssistant", "observabilityShared", diff --git a/x-pack/plugins/infra/server/features.ts b/x-pack/plugins/infra/server/features.ts index 9698e4c2de3c3..57a9653816e80 100644 --- a/x-pack/plugins/infra/server/features.ts +++ b/x-pack/plugins/infra/server/features.ts @@ -8,6 +8,7 @@ import { i18n } from '@kbn/i18n'; import { DEFAULT_APP_CATEGORIES } from '@kbn/core/server'; import { logViewSavedObjectName } from '@kbn/logs-shared-plugin/server'; +import { metricsDataSourceSavedObjectName } from '@kbn/metrics-data-access-plugin/server'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { LOG_DOCUMENT_COUNT_RULE_TYPE_ID } from '../common/alerting/logs/log_threshold/types'; import { @@ -42,7 +43,7 @@ export const METRICS_FEATURE = { catalogue: ['infraops', 'metrics'], api: ['infra', 'rac'], savedObject: { - all: ['infrastructure-ui-source'], + all: ['infrastructure-ui-source', metricsDataSourceSavedObjectName], read: ['index-pattern'], }, alerting: { @@ -64,7 +65,7 @@ export const METRICS_FEATURE = { api: ['infra', 'rac'], savedObject: { all: [], - read: ['infrastructure-ui-source', 'index-pattern'], + read: ['infrastructure-ui-source', 'index-pattern', metricsDataSourceSavedObjectName], }, alerting: { rule: { diff --git a/x-pack/plugins/infra/server/lib/adapters/framework/adapter_types.ts b/x-pack/plugins/infra/server/lib/adapters/framework/adapter_types.ts index 61c8b935806ac..986a6a8749511 100644 --- a/x-pack/plugins/infra/server/lib/adapters/framework/adapter_types.ts +++ b/x-pack/plugins/infra/server/lib/adapters/framework/adapter_types.ts @@ -26,6 +26,7 @@ import { RuleRegistryPluginSetupContract } from '@kbn/rule-registry-plugin/serve import { ObservabilityPluginSetup } from '@kbn/observability-plugin/server'; import { LogsSharedPluginSetup, LogsSharedPluginStart } from '@kbn/logs-shared-plugin/server'; import { VersionedRouteConfig } from '@kbn/core-http-server'; +import { MetricsDataPluginSetup } from '@kbn/metrics-data-access-plugin/server'; export interface InfraServerPluginSetupDeps { alerting: AlertingPluginContract; @@ -40,6 +41,7 @@ export interface InfraServerPluginSetupDeps { visTypeTimeseries: VisTypeTimeseriesSetup; ml?: MlPluginSetup; logsShared: LogsSharedPluginSetup; + metricsDataAccess: MetricsDataPluginSetup; } export interface InfraServerPluginStartDeps { 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 99dfbe1f6bdbd..26fbb4d72a7e5 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 @@ -18,6 +18,7 @@ import { import { LifecycleAlertServices } from '@kbn/rule-registry-plugin/server'; import { ruleRegistryMocks } from '@kbn/rule-registry-plugin/server/mocks'; import { createLifecycleRuleExecutorMock } from '@kbn/rule-registry-plugin/server/utils/create_lifecycle_rule_executor_mock'; +import { MetricsDataClient } from '@kbn/metrics-data-access-plugin/server'; import { Aggregators, Comparator, @@ -1908,6 +1909,9 @@ const createMockStaticConfiguration = (sources: any): InfraConfig => ({ const mockLibs: any = { sources: new InfraSources({ config: createMockStaticConfiguration({}), + metricsClient: { + getMetricIndices: jest.fn().mockResolvedValue('metrics-*,metricbeat-*'), + } as unknown as MetricsDataClient, }), configuration: createMockStaticConfiguration({}), metricsRules: { diff --git a/x-pack/plugins/infra/server/lib/infra_types.ts b/x-pack/plugins/infra/server/lib/infra_types.ts index 6bb24c722fe81..b3c8039423ec5 100644 --- a/x-pack/plugins/infra/server/lib/infra_types.ts +++ b/x-pack/plugins/infra/server/lib/infra_types.ts @@ -12,6 +12,7 @@ import type { AlertsLocatorParams } from '@kbn/observability-plugin/common'; import { ObservabilityConfig } from '@kbn/observability-plugin/server'; import type { LocatorPublic } from '@kbn/share-plugin/common'; import type { ILogsSharedLogEntriesDomain } from '@kbn/logs-shared-plugin/server'; +import type { MetricsDataClient } from '@kbn/metrics-data-access-plugin/server'; import { RulesServiceSetup } from '../services/rules'; import { InfraConfig, InfraPluginStartServicesAccessor } from '../types'; import { KibanaFramework } from './adapters/framework/kibana_framework_adapter'; @@ -39,4 +40,5 @@ export interface InfraBackendLibs extends InfraDomainLibs { handleEsError: typeof handleEsError; logger: Logger; alertsLocator?: LocatorPublic; + metricsClient: MetricsDataClient; } diff --git a/x-pack/plugins/infra/server/lib/metrics/make_get_metric_indices.test.ts b/x-pack/plugins/infra/server/lib/metrics/make_get_metric_indices.test.ts deleted file mode 100644 index 9dedf9b5afaa0..0000000000000 --- a/x-pack/plugins/infra/server/lib/metrics/make_get_metric_indices.test.ts +++ /dev/null @@ -1,30 +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 { savedObjectsClientMock } from '@kbn/core/server/mocks'; -import { defaultSourceConfiguration, InfraSource } from '../sources'; -import { createInfraSourcesMock } from '../sources/mocks'; -import { makeGetMetricIndices } from './make_get_metric_indices'; - -describe('getMetricIndices', () => { - it('should return the indices from a resolved configuration', async () => { - const sourceConfiguration: InfraSource = { - id: 'default', - origin: 'stored', - configuration: defaultSourceConfiguration, - }; - const infraSourcesMock = createInfraSourcesMock(); - infraSourcesMock.getSourceConfiguration.mockResolvedValueOnce(sourceConfiguration); - - const getMetricIndices = makeGetMetricIndices(infraSourcesMock); - - const savedObjectsClient = savedObjectsClientMock.create(); - const metricIndices = await getMetricIndices(savedObjectsClient); - - expect(metricIndices).toEqual(defaultSourceConfiguration.metricAlias); - }); -}); diff --git a/x-pack/plugins/infra/server/lib/metrics/make_get_metric_indices.ts b/x-pack/plugins/infra/server/lib/metrics/make_get_metric_indices.ts deleted file mode 100644 index a6ff7e96a55a0..0000000000000 --- a/x-pack/plugins/infra/server/lib/metrics/make_get_metric_indices.ts +++ /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; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import type { SavedObjectsClientContract } from '@kbn/core/server'; -import type { IInfraSources } from '../sources'; - -export function makeGetMetricIndices(metricSources: IInfraSources) { - return async (savedObjectsClient: SavedObjectsClientContract, sourceId: string = 'default') => { - const source = await metricSources.getSourceConfiguration(savedObjectsClient, sourceId); - return source.configuration.metricAlias; - }; -} diff --git a/x-pack/plugins/infra/server/lib/sources/mocks.ts b/x-pack/plugins/infra/server/lib/sources/mocks.ts index 95ce2619e247a..5184d4a4ef334 100644 --- a/x-pack/plugins/infra/server/lib/sources/mocks.ts +++ b/x-pack/plugins/infra/server/lib/sources/mocks.ts @@ -10,6 +10,7 @@ import type { InfraSources } from './sources'; type IInfraSources = Pick; export const createInfraSourcesMock = (): jest.Mocked => ({ + getInfraSourceConfiguration: jest.fn(), getSourceConfiguration: jest.fn(), createSourceConfiguration: jest.fn(), deleteSourceConfiguration: jest.fn(), diff --git a/x-pack/plugins/infra/server/lib/sources/sources.test.ts b/x-pack/plugins/infra/server/lib/sources/sources.test.ts index 9f7d5e9bd1be1..a8c7cf3231b41 100644 --- a/x-pack/plugins/infra/server/lib/sources/sources.test.ts +++ b/x-pack/plugins/infra/server/lib/sources/sources.test.ts @@ -6,6 +6,7 @@ */ import { SavedObject } from '@kbn/core/server'; +import { MetricsDataClient } from '@kbn/metrics-data-access-plugin/server'; import { InfraConfig } from '../../types'; import { infraSourceConfigurationSavedObjectName } from './saved_object_type'; import { InfraSources } from './sources'; @@ -15,6 +16,7 @@ describe('the InfraSources lib', () => { test('returns a source configuration if it exists', async () => { const sourcesLib = new InfraSources({ config: createMockStaticConfiguration({}), + metricsClient: createMockMetricsDataClient('METRIC_ALIAS'), }); const request: any = createRequestContext({ @@ -56,6 +58,7 @@ describe('the InfraSources lib', () => { logIndices: { type: 'index_pattern', indexPatternId: 'LOG_ALIAS' }, }, }), + metricsClient: createMockMetricsDataClient('METRIC_ALIAS'), }); const request: any = createRequestContext({ @@ -83,6 +86,7 @@ describe('the InfraSources lib', () => { test('adds missing attributes from the default configuration to a source configuration', async () => { const sourcesLib = new InfraSources({ config: createMockStaticConfiguration({}), + metricsClient: createMockMetricsDataClient(), }); const request: any = createRequestContext({ @@ -128,6 +132,12 @@ const createMockStaticConfiguration = (sources: any): InfraConfig => ({ enabled: true, }); +const createMockMetricsDataClient = (metricAlias: string = 'metrics-*,metricbeat-*') => + ({ + getMetricIndices: jest.fn().mockResolvedValue(metricAlias), + updateMetricIndices: jest.fn(), + } as unknown as MetricsDataClient); + const createRequestContext = (savedObject?: SavedObject) => { return { core: { diff --git a/x-pack/plugins/infra/server/lib/sources/sources.ts b/x-pack/plugins/infra/server/lib/sources/sources.ts index 693c4aba20ae1..64f7900d57279 100644 --- a/x-pack/plugins/infra/server/lib/sources/sources.ts +++ b/x-pack/plugins/infra/server/lib/sources/sources.ts @@ -15,6 +15,7 @@ import { SavedObjectsClientContract, SavedObjectsErrorHelpers, } from '@kbn/core/server'; +import { MetricsDataClient } from '@kbn/metrics-data-access-plugin/server'; import { InfraSavedSourceConfiguration, InfraSource, @@ -35,6 +36,7 @@ import { infraSourceConfigurationSavedObjectName } from './saved_object_type'; interface Libs { config: InfraConfig; + metricsClient: MetricsDataClient; } // extract public interface @@ -48,7 +50,7 @@ export class InfraSources { this.libs = libs; } - public async getSourceConfiguration( + public async getInfraSourceConfiguration( savedObjectsClient: SavedObjectsClientContract, sourceId: string ): Promise { @@ -90,6 +92,21 @@ export class InfraSources { return savedSourceConfiguration; } + public async getSourceConfiguration( + savedObjectsClient: SavedObjectsClientContract, + sourceId: string + ): Promise { + const sourceConfiguration = await this.getInfraSourceConfiguration( + savedObjectsClient, + sourceId + ); + const metricAlias = await this.libs.metricsClient.getMetricIndices({ + savedObjectsClient, + }); + sourceConfiguration.configuration.metricAlias = metricAlias; + return sourceConfiguration; + } + public async getAllSourceConfigurations(savedObjectsClient: SavedObjectsClientContract) { const staticDefaultSourceConfiguration = await this.getStaticDefaultSourceConfiguration(); @@ -129,6 +146,11 @@ export class InfraSources { }) ); + await this.libs.metricsClient.updateMetricIndices({ + savedObjectsClient, + metricIndices: newSourceConfiguration.metricAlias, + }); + return { ...createdSourceConfiguration, configuration: mergeSourceConfiguration( @@ -180,6 +202,11 @@ export class InfraSources { }) ); + await this.libs.metricsClient.updateMetricIndices({ + savedObjectsClient, + metricIndices: updatedSourceConfiguration.configuration.metricAlias!, + }); + return { ...updatedSourceConfiguration, configuration: mergeSourceConfiguration( diff --git a/x-pack/plugins/infra/server/mocks.ts b/x-pack/plugins/infra/server/mocks.ts index a15575572a076..51845ffed003f 100644 --- a/x-pack/plugins/infra/server/mocks.ts +++ b/x-pack/plugins/infra/server/mocks.ts @@ -27,7 +27,6 @@ const createInfraSetupMock = () => { const createInfraStartMock = () => { const infraStartMock: jest.Mocked = { - getMetricIndices: jest.fn(), inventoryViews: createInventoryViewsServiceStartMock(), metricsExplorerViews: createMetricsExplorerViewsServiceStartMock(), }; diff --git a/x-pack/plugins/infra/server/plugin.ts b/x-pack/plugins/infra/server/plugin.ts index 8a91d5685daa3..d3898f064135f 100644 --- a/x-pack/plugins/infra/server/plugin.ts +++ b/x-pack/plugins/infra/server/plugin.ts @@ -18,6 +18,7 @@ import { i18n } from '@kbn/i18n'; import { Logger } from '@kbn/logging'; import { alertsLocatorID } from '@kbn/observability-plugin/common'; import { DEFAULT_SPACE_ID } from '@kbn/spaces-plugin/common'; +import { GetMetricIndicesOptions } from '@kbn/metrics-data-access-plugin/server'; import { DISCOVER_APP_TARGET, LOGS_APP_TARGET, @@ -41,7 +42,6 @@ import { import { InfraFieldsDomain } from './lib/domains/fields_domain'; import { InfraMetricsDomain } from './lib/domains/metrics_domain'; import { InfraBackendLibs, InfraDomainLibs } from './lib/infra_types'; -import { makeGetMetricIndices } from './lib/metrics/make_get_metric_indices'; import { infraSourceConfigurationSavedObjectType, InfraSources } from './lib/sources'; import { InfraSourceStatus } from './lib/source_status'; import { inventoryViewSavedObjectType, metricsExplorerViewSavedObjectType } from './saved_objects'; @@ -153,8 +153,17 @@ export class InfraServerPlugin setup(core: InfraPluginCoreSetup, plugins: InfraServerPluginSetupDeps) { const framework = new KibanaFramework(core, this.config, plugins); + const metricsClient = plugins.metricsDataAccess.client; + metricsClient.setDefaultMetricIndicesHandler(async (options: GetMetricIndicesOptions) => { + const sourceConfiguration = await sources.getInfraSourceConfiguration( + options.savedObjectsClient, + 'default' + ); + return sourceConfiguration.configuration.metricAlias; + }); const sources = new InfraSources({ config: this.config, + metricsClient, }); const sourceStatus = new InfraSourceStatus( new InfraElasticsearchSourceStatusAdapter(framework), @@ -186,6 +195,7 @@ export class InfraServerPlugin framework, sources, sourceStatus, + metricsClient, ...domainLibs, handleEsError, logsRules: this.logsRules.setup(core, plugins), @@ -202,7 +212,7 @@ export class InfraServerPlugin // Register an handler to retrieve the fallback logView starting from a source configuration plugins.logsShared.logViews.registerLogViewFallbackHandler(async (sourceId, { soClient }) => { - const sourceConfiguration = await sources.getSourceConfiguration(soClient, sourceId); + const sourceConfiguration = await sources.getInfraSourceConfiguration(soClient, sourceId); return mapSourceToLogView(sourceConfiguration); }); plugins.logsShared.logViews.setLogViewsStaticConfig({ @@ -270,7 +280,6 @@ export class InfraServerPlugin return { inventoryViews, metricsExplorerViews, - getMetricIndices: makeGetMetricIndices(this.libs.sources), }; } diff --git a/x-pack/plugins/infra/server/types.ts b/x-pack/plugins/infra/server/types.ts index 0a4ad94c09d43..e9d9faa548bb2 100644 --- a/x-pack/plugins/infra/server/types.ts +++ b/x-pack/plugins/infra/server/types.ts @@ -5,11 +5,7 @@ * 2.0. */ -import type { - CoreSetup, - CustomRequestHandlerContext, - SavedObjectsClientContract, -} from '@kbn/core/server'; +import type { CoreSetup, CustomRequestHandlerContext } from '@kbn/core/server'; import type { SearchRequestHandlerContext } from '@kbn/data-plugin/server'; import type { MlPluginSetup } from '@kbn/ml-plugin/server'; import type { InfraStaticSourceConfiguration } from '../common/source_configuration/source_configuration'; @@ -37,10 +33,6 @@ export interface InfraPluginSetup { export interface InfraPluginStart { inventoryViews: InventoryViewsServiceStart; metricsExplorerViews: MetricsExplorerViewsServiceStart; - getMetricIndices: ( - savedObjectsClient: SavedObjectsClientContract, - sourceId?: string - ) => Promise; } export type MlSystem = ReturnType; diff --git a/x-pack/plugins/infra/tsconfig.json b/x-pack/plugins/infra/tsconfig.json index 0b4b4038de953..2166ae9c7b4c6 100644 --- a/x-pack/plugins/infra/tsconfig.json +++ b/x-pack/plugins/infra/tsconfig.json @@ -70,6 +70,7 @@ "@kbn/licensing-plugin", "@kbn/aiops-utils", "@kbn/lens-embeddable-utils", + "@kbn/metrics-data-access-plugin", "@kbn/expressions-plugin" ], "exclude": ["target/**/*"] diff --git a/x-pack/plugins/metrics_data_access/README.md b/x-pack/plugins/metrics_data_access/README.md new file mode 100755 index 0000000000000..b8a9783e7b883 --- /dev/null +++ b/x-pack/plugins/metrics_data_access/README.md @@ -0,0 +1,3 @@ +# Metrics Data Access + +Exposes utilities to access metrics data. diff --git a/x-pack/plugins/metrics_data_access/jest.config.js b/x-pack/plugins/metrics_data_access/jest.config.js new file mode 100644 index 0000000000000..9c8e01aabd0aa --- /dev/null +++ b/x-pack/plugins/metrics_data_access/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 = { + preset: '@kbn/test', + rootDir: '../../..', + roots: ['/x-pack/plugins/metrics_data_access'], + coverageDirectory: '/target/kibana-coverage/jest/x-pack/plugins/metrics_data_access', + coverageReporters: ['text', 'html'], + collectCoverageFrom: ['/x-pack/plugins/metrics_data/{server}/**/*.test.ts'], +}; diff --git a/x-pack/plugins/metrics_data_access/kibana.jsonc b/x-pack/plugins/metrics_data_access/kibana.jsonc new file mode 100644 index 0000000000000..6c721fe1734c1 --- /dev/null +++ b/x-pack/plugins/metrics_data_access/kibana.jsonc @@ -0,0 +1,15 @@ +{ + "type": "plugin", + "id": "@kbn/metrics-data-access-plugin", + "owner": "@elastic/infra-monitoring-ui", + "description": "Exposes utilities for accessing metrics data", + "plugin": { + "id": "metricsDataAccess", + "server": true, + "browser": false, + "configPath": ["xpack", "metrics_data_access"], + "requiredPlugins": [], + "requiredBundles": [], + "extraPublicDirs": [] + } +} diff --git a/x-pack/plugins/metrics_data_access/server/client/client.test.ts b/x-pack/plugins/metrics_data_access/server/client/client.test.ts new file mode 100644 index 0000000000000..72449cf47132b --- /dev/null +++ b/x-pack/plugins/metrics_data_access/server/client/client.test.ts @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectsErrorHelpers } from '@kbn/core/server'; +import { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; +import { MetricsDataClient } from './client'; +import { metricsDataSourceSavedObjectName } from '../saved_objects/metrics_data_source'; + +describe('MetricsDataClient', () => { + const client = new MetricsDataClient(); + + client.setDefaultMetricIndicesHandler(async () => { + return 'fallback-indices*'; + }); + + describe('metric indices', () => { + it('retrieves metrics saved object', async () => { + const savedObjectsClient = { + get: jest.fn().mockResolvedValue({ attributes: { metricIndices: 'foo,bar' } }), + }; + + const indices = await client.getMetricIndices({ + savedObjectsClient: savedObjectsClient as unknown as SavedObjectsClientContract, + }); + + expect(savedObjectsClient.get.mock.calls.length).toEqual(1); + expect(savedObjectsClient.get.mock.calls[0]).toEqual([ + metricsDataSourceSavedObjectName, + 'default', + ]); + expect(indices).toEqual('foo,bar'); + }); + + it('falls back to provided handler when no metrics saved object exists', async () => { + const savedObjectsClient = { + get: jest.fn().mockRejectedValue(SavedObjectsErrorHelpers.createGenericNotFoundError()), + }; + + const indices = await client.getMetricIndices({ + savedObjectsClient: savedObjectsClient as unknown as SavedObjectsClientContract, + }); + + expect(savedObjectsClient.get.mock.calls.length).toEqual(1); + expect(savedObjectsClient.get.mock.calls[0]).toEqual([ + metricsDataSourceSavedObjectName, + 'default', + ]); + expect(indices).toEqual('fallback-indices*'); + }); + }); +}); diff --git a/x-pack/plugins/metrics_data_access/server/client/client.ts b/x-pack/plugins/metrics_data_access/server/client/client.ts new file mode 100644 index 0000000000000..30d367cea0293 --- /dev/null +++ b/x-pack/plugins/metrics_data_access/server/client/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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { SavedObjectsErrorHelpers } from '@kbn/core/server'; +import { + DefaultMetricIndicesHandler, + GetMetricIndicesOptions, + UpdateMetricIndicesOptions, +} from '../types'; +import { + MetricsDataSavedObject, + metricsDataSourceSavedObjectName, +} from '../saved_objects/metrics_data_source'; + +export class MetricsDataClient { + private readonly defaultSavedObjectId = 'default'; + private getDefaultMetricIndices: DefaultMetricIndicesHandler = null; + + async getMetricIndices(options: GetMetricIndicesOptions): Promise { + if (!this.getDefaultMetricIndices) { + throw new Error('Missing getMetricsIndices fallback'); + } + + const metricIndices = await options.savedObjectsClient + .get(metricsDataSourceSavedObjectName, this.defaultSavedObjectId) + .then(({ attributes }) => attributes.metricIndices) + .catch((err) => { + if (SavedObjectsErrorHelpers.isNotFoundError(err)) { + return this.getDefaultMetricIndices!(options); + } + + throw err; + }); + return metricIndices; + } + + async updateMetricIndices(options: UpdateMetricIndicesOptions) { + const object = await options.savedObjectsClient.create( + metricsDataSourceSavedObjectName, + { + metricIndices: options.metricIndices, + }, + { id: this.defaultSavedObjectId, overwrite: true } + ); + return object; + } + + setDefaultMetricIndicesHandler(handler: DefaultMetricIndicesHandler) { + this.getDefaultMetricIndices = handler; + } +} diff --git a/x-pack/plugins/metrics_data_access/server/client/index.ts b/x-pack/plugins/metrics_data_access/server/client/index.ts new file mode 100644 index 0000000000000..0d5314fb067bd --- /dev/null +++ b/x-pack/plugins/metrics_data_access/server/client/index.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 { MetricsDataClient } from './client'; diff --git a/x-pack/plugins/metrics_data_access/server/index.ts b/x-pack/plugins/metrics_data_access/server/index.ts new file mode 100644 index 0000000000000..919f5f357856e --- /dev/null +++ b/x-pack/plugins/metrics_data_access/server/index.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. + */ + +import { PluginInitializerContext } from '@kbn/core/server'; +import { MetricsDataPlugin } from './plugin'; + +export type { + MetricsDataPluginSetup, + GetMetricIndicesOptions, + UpdateMetricIndicesOptions, + DefaultMetricIndicesHandler, +} from './types'; + +export { metricsDataSourceSavedObjectName } from './saved_objects/metrics_data_source'; + +export { MetricsDataClient } from './client'; + +export function plugin(context: PluginInitializerContext) { + return new MetricsDataPlugin(context); +} diff --git a/x-pack/plugins/metrics_data_access/server/plugin.ts b/x-pack/plugins/metrics_data_access/server/plugin.ts new file mode 100644 index 0000000000000..0f51a7a33f888 --- /dev/null +++ b/x-pack/plugins/metrics_data_access/server/plugin.ts @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { CoreSetup, PluginInitializerContext, Plugin } from '@kbn/core/server'; +import { MetricsDataPluginSetup } from './types'; +import { MetricsDataClient } from './client'; +import { metricsDataSourceSavedObjectType } from './saved_objects/metrics_data_source'; + +export class MetricsDataPlugin implements Plugin { + private metricsClient: MetricsDataClient | null = null; + + constructor(context: PluginInitializerContext) {} + + public setup(core: CoreSetup) { + core.savedObjects.registerType(metricsDataSourceSavedObjectType); + + this.metricsClient = new MetricsDataClient(); + return { + client: this.metricsClient, + }; + } + + public start() { + return {}; + } + + public stop() {} +} diff --git a/x-pack/plugins/metrics_data_access/server/saved_objects/metrics_data_source/index.ts b/x-pack/plugins/metrics_data_access/server/saved_objects/metrics_data_source/index.ts new file mode 100644 index 0000000000000..d478f75658646 --- /dev/null +++ b/x-pack/plugins/metrics_data_access/server/saved_objects/metrics_data_source/index.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 type { SavedObject, SavedObjectsType } from '@kbn/core/server'; + +export const metricsDataSourceSavedObjectName = 'metrics-data-source'; + +export interface MetricsDataSavedObject { + metricIndices: string; +} + +export const metricsDataSourceSavedObjectType: SavedObjectsType = { + name: metricsDataSourceSavedObjectName, + hidden: false, + namespaceType: 'single', + management: { + defaultSearchField: 'name', + displayName: 'metrics data source', + getTitle(savedObject: SavedObject) { + return `Metrics data source [id=${savedObject.id}]`; + }, + icon: 'metricsApp', + importableAndExportable: true, + }, + mappings: { + dynamic: false, + properties: {}, + }, +}; diff --git a/x-pack/plugins/metrics_data_access/server/types.ts b/x-pack/plugins/metrics_data_access/server/types.ts new file mode 100644 index 0000000000000..3d13926899495 --- /dev/null +++ b/x-pack/plugins/metrics_data_access/server/types.ts @@ -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 { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server'; + +import { MetricsDataClient } from './client'; + +export interface MetricsDataPluginSetup { + client: MetricsDataClient; +} + +export interface GetMetricIndicesOptions { + savedObjectsClient: SavedObjectsClientContract; +} + +export type UpdateMetricIndicesOptions = GetMetricIndicesOptions & { + metricIndices: string; +}; + +export type DefaultMetricIndicesHandler = + | ((options: GetMetricIndicesOptions) => Promise) + | null; diff --git a/x-pack/plugins/metrics_data_access/tsconfig.json b/x-pack/plugins/metrics_data_access/tsconfig.json new file mode 100644 index 0000000000000..b1dd132f12097 --- /dev/null +++ b/x-pack/plugins/metrics_data_access/tsconfig.json @@ -0,0 +1,12 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types" + }, + "include": ["../../../typings/**/*", "server/**/*"], + "exclude": ["target/**/*"], + "kbn_references": [ + "@kbn/core", + "@kbn/core-saved-objects-api-server", + ] +} diff --git a/yarn.lock b/yarn.lock index 6a18eb4fdc43e..cb75a83c1db2f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4910,6 +4910,10 @@ version "0.0.0" uid "" +"@kbn/metrics-data-access-plugin@link:x-pack/plugins/metrics_data_access": + version "0.0.0" + uid "" + "@kbn/ml-agg-utils@link:x-pack/packages/ml/agg_utils": version "0.0.0" uid "" From 854dd4f7f3b7f9bfe713860a45326237c92192f8 Mon Sep 17 00:00:00 2001 From: Ido Cohen <90558359+CohenIdo@users.noreply.github.com> Date: Thu, 14 Sep 2023 14:12:34 +0300 Subject: [PATCH 024/149] [Cloud Security] Fix typo in sampling rate serverless (#166153) --- .../cloud_security/cloud_security_metering_task_config.ts | 2 +- .../server/cloud_security/constants.ts | 2 +- .../plugins/security_solution_serverless/server/plugin.ts | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task_config.ts b/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task_config.ts index aa35b9e870c2c..c9b0ccd7672e3 100644 --- a/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task_config.ts +++ b/x-pack/plugins/security_solution_serverless/server/cloud_security/cloud_security_metering_task_config.ts @@ -8,7 +8,7 @@ import { cloudSecurityMetringCallback } from './cloud_security_metering'; import type { MetringTaskProperties } from '../types'; -const TASK_INTERVAL = 3600; // 1 hour +const TASK_INTERVAL = 1800; // 30 minutes export const cloudSecurityMetringTaskProperties: MetringTaskProperties = { taskType: 'cloud-security-usage-reporting-task', diff --git a/x-pack/plugins/security_solution_serverless/server/cloud_security/constants.ts b/x-pack/plugins/security_solution_serverless/server/cloud_security/constants.ts index 9203a7fdff287..43cf1f06c47f8 100644 --- a/x-pack/plugins/security_solution_serverless/server/cloud_security/constants.ts +++ b/x-pack/plugins/security_solution_serverless/server/cloud_security/constants.ts @@ -17,7 +17,7 @@ import { INTEGRATION_PACKAGE_NAME } from '@kbn/cloud-defend-plugin/common/consta const CLOUD_DEFEND_HEARTBEAT_INDEX = 'metrics-cloud_defend.heartbeat'; export const CLOUD_SECURITY_TASK_TYPE = 'cloud_security'; export const AGGREGATION_PRECISION_THRESHOLD = 40000; -export const ASSETS_SAMPLE_GRANULARITY = '124h'; +export const ASSETS_SAMPLE_GRANULARITY = '24h'; export const THRESHOLD_MINUTES = 30; export const CSPM = CSPM_POLICY_TEMPLATE; diff --git a/x-pack/plugins/security_solution_serverless/server/plugin.ts b/x-pack/plugins/security_solution_serverless/server/plugin.ts index e5696ce363617..950b5837fe02b 100644 --- a/x-pack/plugins/security_solution_serverless/server/plugin.ts +++ b/x-pack/plugins/security_solution_serverless/server/plugin.ts @@ -42,7 +42,7 @@ export class SecuritySolutionServerlessPlugin > { private config: ServerlessSecurityConfig; - private cspmUsageReportingTask: SecurityUsageReportingTask | undefined; + private cloudSecurityUsageReportingTask: SecurityUsageReportingTask | undefined; private endpointUsageReportingTask: SecurityUsageReportingTask | undefined; private readonly logger: Logger; @@ -67,7 +67,7 @@ export class SecuritySolutionServerlessPlugin pluginsSetup.ml.setFeaturesEnabled({ ad: true, dfa: true, nlp: false }); - this.cspmUsageReportingTask = new SecurityUsageReportingTask({ + this.cloudSecurityUsageReportingTask = new SecurityUsageReportingTask({ core: coreSetup, logFactory: this.initializerContext.logger, config: this.config, @@ -100,7 +100,7 @@ export class SecuritySolutionServerlessPlugin const internalESClient = _coreStart.elasticsearch.client.asInternalUser; const internalSOClient = _coreStart.savedObjects.createInternalRepository(); - this.cspmUsageReportingTask?.start({ + this.cloudSecurityUsageReportingTask?.start({ taskManager: pluginsSetup.taskManager, interval: cloudSecurityMetringTaskProperties.interval, }); From 26ea74df8e1402e1b7a5991892817ce295dcb40e Mon Sep 17 00:00:00 2001 From: Lola Date: Thu, 14 Sep 2023 07:16:30 -0400 Subject: [PATCH 025/149] [Cloud Security]fix json tab overflow content (#166434) ## Summary Summarize your PR. If it involves visual changes include a screenshot or gif. [Quick Wins](https://github.com/elastic/security-team/issues/7436) Applied offset Bottom height so JSON Tab content inside this absolute `div` element is scrollable and doesn't get cut off by the sticky bar: --- .../public/pages/configurations/findings_flyout/json_tab.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/json_tab.tsx b/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/json_tab.tsx index 18f36810d03f6..21ab126449470 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/json_tab.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/json_tab.tsx @@ -10,10 +10,11 @@ import { CodeEditor } from '@kbn/kibana-react-plugin/public'; import { XJsonLang } from '@kbn/monaco'; import { CspFinding } from '../../../../common/schemas/csp_finding'; -const offsetHeight = 120; +const offsetTopHeight = 120; +const offsetBottomHeight = 72; export const JsonTab = ({ data }: { data: CspFinding }) => ( -

+
Date: Thu, 14 Sep 2023 14:05:58 +0200 Subject: [PATCH 026/149] [chore] update chromedriver to 116 (#166345) ## Summary Updating chromedriver to 116 so it should work with newly released Chrome v117 --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 4ec34c1830a86..220d685d29cab 100644 --- a/package.json +++ b/package.json @@ -1434,7 +1434,7 @@ "blob-polyfill": "^7.0.20220408", "callsites": "^3.1.0", "chance": "1.0.18", - "chromedriver": "^115.0.1", + "chromedriver": "^116.0.0", "clean-webpack-plugin": "^3.0.0", "cli-table3": "^0.6.1", "compression-webpack-plugin": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index cb75a83c1db2f..e9c20dd8ff99a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12718,10 +12718,10 @@ chrome-trace-event@^1.0.2: dependencies: tslib "^1.9.0" -chromedriver@^115.0.1: - version "115.0.1" - resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-115.0.1.tgz#76cbf35f16e0c1f5e29ab821fb3b8b06d22c3e40" - integrity sha512-faE6WvIhXfhnoZ3nAxUXYzeDCKy612oPwpkUp0mVkA7fZPg2JHSUiYOQhUYgzHQgGvDWD5Fy2+M2xV55GKHBVQ== +chromedriver@^116.0.0: + version "116.0.0" + resolved "https://registry.yarnpkg.com/chromedriver/-/chromedriver-116.0.0.tgz#3f5d07b5427953270461791651d7b68cb6afe9fe" + integrity sha512-/TQaRn+RUAYnVqy5Vx8VtU8DvtWosU8QLM2u7BoNM5h55PRQPXF/onHAehEi8Sj/CehdKqH50NFdiumQAUr0DQ== dependencies: "@testim/chrome-version" "^1.1.3" axios "^1.4.0" From 0538e65a8bdb0ceb29aa69c26351075a906664f4 Mon Sep 17 00:00:00 2001 From: Aleh Zasypkin Date: Thu, 14 Sep 2023 14:14:51 +0200 Subject: [PATCH 027/149] Clarify authentication providers orders in the Serverless test config. (#166356) ## Summary Clarify authentication providers orders in the Serverless test config. __Follow-up for:__ https://github.com/elastic/kibana/pull/165810#discussion_r1324364175 --- x-pack/test_serverless/shared/config.base.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/x-pack/test_serverless/shared/config.base.ts b/x-pack/test_serverless/shared/config.base.ts index eb193d5ea5487..a15405cd0f231 100644 --- a/x-pack/test_serverless/shared/config.base.ts +++ b/x-pack/test_serverless/shared/config.base.ts @@ -121,6 +121,11 @@ export default async () => { // In the real world the SAML config is injected by control plane. `--plugin-path=${samlIdPPlugin}`, '--xpack.cloud.id=ftr_fake_cloud_id', + // Ensure that SAML is used as the default authentication method whenever a user navigates to Kibana. In other + // words, Kibana should attempt to authenticate the user using the provider with the lowest order if the Login + // Selector is disabled (which is how Serverless Kibana is configured). By declaring `cloud-basic` with a higher + // order, we indicate that basic authentication can still be used, but only if explicitly requested when the + // user navigates to `/login` page directly and enters username and password in the login form. '--xpack.security.authc.selector.enabled=false', `--xpack.security.authc.providers=${JSON.stringify({ saml: { 'cloud-saml-kibana': { order: 0, realm: 'cloud-saml-kibana' } }, From 1316738857424c6cc207c37720a01280726a6daa Mon Sep 17 00:00:00 2001 From: Thom Heymann <190132+thomheymann@users.noreply.github.com> Date: Thu, 14 Sep 2023 13:38:37 +0100 Subject: [PATCH 028/149] Expose hasOnlyDefaultSpace from spaces contract (#166174) Resolves https://github.com/elastic/kibana/issues/165965 ## Summary Exposes `hasOnlyDefaultSpace` from spaces contract. If anyone has a better suggestion for the name I'd be happy to change it. --------- Co-authored-by: Aleh Zasypkin --- .../legacy_url_conflict_callout.test.tsx | 4 +- .../use_redirect_legacy_url.test.ts | 4 +- x-pack/plugins/spaces/public/mocks.ts | 1 + x-pack/plugins/spaces/public/plugin.test.ts | 24 +++++++++ x-pack/plugins/spaces/public/plugin.tsx | 5 +- x-pack/plugins/spaces/public/types.ts | 7 +++ x-pack/plugins/spaces/server/mocks.ts | 4 ++ x-pack/plugins/spaces/server/plugin.test.ts | 50 +++++++++++++++++++ x-pack/plugins/spaces/server/plugin.ts | 20 ++++++++ 9 files changed, 116 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/legacy_url_conflict_callout.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/legacy_url_conflict_callout.test.tsx index 240bb988756f3..6bce996bc14fc 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/legacy_url_conflict_callout.test.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/legacy_url_conflict_callout.test.tsx @@ -9,11 +9,12 @@ import React from 'react'; import { LegacyUrlConflictCallOut } from './legacy_url_conflict_callout'; import { render, screen } from '@testing-library/react'; import type { Rule } from '../../../rule_management/logic'; +import type { SpacesApi } from '@kbn/spaces-plugin/public'; const mockRedirectLegacyUrl = jest.fn(); const mockGetLegacyUrlConflict = jest.fn(); -const mockSpacesApi = { +const mockSpacesApi: SpacesApi = { getActiveSpace$: jest.fn(), getActiveSpace: jest.fn(), ui: { @@ -29,6 +30,7 @@ const mockSpacesApi = { redirectLegacyUrl: mockRedirectLegacyUrl, useSpaces: jest.fn(), }, + hasOnlyDefaultSpace: false, }; describe('', () => { diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/use_redirect_legacy_url.test.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/use_redirect_legacy_url.test.ts index 454904a251bf4..ee0da0edbfdb9 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/use_redirect_legacy_url.test.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_details_ui/pages/rule_details/use_redirect_legacy_url.test.ts @@ -10,11 +10,12 @@ import { renderHook, cleanup } from '@testing-library/react-hooks'; import type { UseLegacyUrlRedirectParams } from './use_redirect_legacy_url'; import { useLegacyUrlRedirect } from './use_redirect_legacy_url'; import type { Rule } from '../../../rule_management/logic'; +import type { SpacesApi } from '@kbn/spaces-plugin/public'; const mockRedirectLegacyUrl = jest.fn(); const mockGetLegacyUrlConflict = jest.fn(); -const mockSpacesApi = { +const mockSpacesApi: SpacesApi = { getActiveSpace$: jest.fn(), getActiveSpace: jest.fn(), ui: { @@ -30,6 +31,7 @@ const mockSpacesApi = { redirectLegacyUrl: mockRedirectLegacyUrl, useSpaces: jest.fn(), }, + hasOnlyDefaultSpace: false, }; describe('useLegacyUrlRedirect', () => { diff --git a/x-pack/plugins/spaces/public/mocks.ts b/x-pack/plugins/spaces/public/mocks.ts index 9146a0aa2c99b..66b916e459cc5 100644 --- a/x-pack/plugins/spaces/public/mocks.ts +++ b/x-pack/plugins/spaces/public/mocks.ts @@ -15,6 +15,7 @@ const createApiMock = (): jest.Mocked => ({ getActiveSpace$: jest.fn().mockReturnValue(of()), getActiveSpace: jest.fn(), ui: createApiUiMock(), + hasOnlyDefaultSpace: false, }); type SpacesApiUiMock = Omit, 'components'> & { diff --git a/x-pack/plugins/spaces/public/plugin.test.ts b/x-pack/plugins/spaces/public/plugin.test.ts index 2e81e6c039668..a3a09db311b9c 100644 --- a/x-pack/plugins/spaces/public/plugin.test.ts +++ b/x-pack/plugins/spaces/public/plugin.test.ts @@ -149,4 +149,28 @@ describe('Spaces plugin', () => { expect(coreStart.chrome.navControls.registerLeft).not.toHaveBeenCalled(); }); }); + + it('determines hasOnlyDefaultSpace correctly when maxSpaces=1', () => { + const coreSetup = coreMock.createSetup(); + const coreStart = coreMock.createStart(); + + const plugin = new SpacesPlugin(coreMock.createPluginInitializerContext({ maxSpaces: 1 })); + const spacesSetup = plugin.setup(coreSetup, {}); + const spacesStart = plugin.start(coreStart); + + expect(spacesSetup.hasOnlyDefaultSpace).toBe(true); + expect(spacesStart.hasOnlyDefaultSpace).toBe(true); + }); + + it('determines hasOnlyDefaultSpace correctly when maxSpaces=1000', () => { + const coreSetup = coreMock.createSetup(); + const coreStart = coreMock.createStart(); + + const plugin = new SpacesPlugin(coreMock.createPluginInitializerContext({ maxSpaces: 1000 })); + const spacesSetup = plugin.setup(coreSetup, {}); + const spacesStart = plugin.start(coreStart); + + expect(spacesSetup.hasOnlyDefaultSpace).toBe(false); + expect(spacesStart.hasOnlyDefaultSpace).toBe(false); + }); }); diff --git a/x-pack/plugins/spaces/public/plugin.tsx b/x-pack/plugins/spaces/public/plugin.tsx index 28a54e7768f3e..02aad20bee27b 100644 --- a/x-pack/plugins/spaces/public/plugin.tsx +++ b/x-pack/plugins/spaces/public/plugin.tsx @@ -53,6 +53,8 @@ export class SpacesPlugin implements Plugin, plugins: PluginsSetup) { + const hasOnlyDefaultSpace = this.config.maxSpaces === 1; + this.spacesManager = new SpacesManager(core.http); this.spacesApi = { ui: getUiApi({ @@ -61,6 +63,7 @@ export class SpacesPlugin implements Plugin this.spacesManager.onActiveSpaceChange$, getActiveSpace: () => this.spacesManager.getActiveSpace(), + hasOnlyDefaultSpace, }; if (!this.isServerless) { @@ -85,7 +88,7 @@ export class SpacesPlugin implements Plugin; + /** + * Determines whether Kibana supports multiple spaces or only the default space. + * + * When `xpack.spaces.maxSpaces` is set to 1 Kibana only supports the default space and any spaces related UI can safely be hidden. + */ + hasOnlyDefaultSpace: boolean; + /** * UI components and services to add spaces capabilities to an application. */ diff --git a/x-pack/plugins/spaces/server/mocks.ts b/x-pack/plugins/spaces/server/mocks.ts index 1824fa352012a..f43a8e82a6408 100644 --- a/x-pack/plugins/spaces/server/mocks.ts +++ b/x-pack/plugins/spaces/server/mocks.ts @@ -5,6 +5,8 @@ * 2.0. */ +import { of } from 'rxjs'; + import { spacesClientServiceMock } from './spaces_client/spaces_client_service.mock'; import { spacesServiceMock } from './spaces_service/spaces_service.mock'; @@ -12,12 +14,14 @@ function createSetupMock() { return { spacesService: spacesServiceMock.createSetupContract(), spacesClient: spacesClientServiceMock.createSetup(), + hasOnlyDefaultSpace$: of(false), }; } function createStartMock() { return { spacesService: spacesServiceMock.createStartContract(), + hasOnlyDefaultSpace$: of(false), }; } diff --git a/x-pack/plugins/spaces/server/plugin.test.ts b/x-pack/plugins/spaces/server/plugin.test.ts index de448e962ad68..3ac505c6e2e9a 100644 --- a/x-pack/plugins/spaces/server/plugin.test.ts +++ b/x-pack/plugins/spaces/server/plugin.test.ts @@ -5,6 +5,8 @@ * 2.0. */ +import { lastValueFrom } from 'rxjs'; + import type { CoreSetup } from '@kbn/core/server'; import { coreMock } from '@kbn/core/server/mocks'; import { featuresPluginMock } from '@kbn/features-plugin/server/mocks'; @@ -26,6 +28,12 @@ describe('Spaces plugin', () => { const spacesSetup = plugin.setup(core, { features, licensing }); expect(spacesSetup).toMatchInlineSnapshot(` Object { + "hasOnlyDefaultSpace$": Observable { + "operator": [Function], + "source": Observable { + "_subscribe": [Function], + }, + }, "spacesClient": Object { "registerClientWrapper": [Function], "setClientRepositoryFactory": [Function], @@ -85,6 +93,12 @@ describe('Spaces plugin', () => { const spacesStart = plugin.start(coreStart); expect(spacesStart).toMatchInlineSnapshot(` Object { + "hasOnlyDefaultSpace$": Observable { + "operator": [Function], + "source": Observable { + "_subscribe": [Function], + }, + }, "spacesService": Object { "createSpacesClient": [Function], "getActiveSpace": [Function], @@ -97,4 +111,40 @@ describe('Spaces plugin', () => { `); }); }); + + it('determines hasOnlyDefaultSpace$ correctly when maxSpaces=1', async () => { + const initializerContext = coreMock.createPluginInitializerContext({ maxSpaces: 1 }); + const core = coreMock.createSetup() as CoreSetup; + const features = featuresPluginMock.createSetup(); + const licensing = licensingMock.createSetup(); + + const usageCollection = usageCollectionPluginMock.createSetupContract(); + + const plugin = new SpacesPlugin(initializerContext); + + const spacesSetup = plugin.setup(core, { features, licensing, usageCollection }); + const coreStart = coreMock.createStart(); + const spacesStart = plugin.start(coreStart); + + await expect(lastValueFrom(spacesSetup.hasOnlyDefaultSpace$)).resolves.toEqual(true); + await expect(lastValueFrom(spacesStart.hasOnlyDefaultSpace$)).resolves.toEqual(true); + }); + + it('determines hasOnlyDefaultSpace$ correctly when maxSpaces=1000', async () => { + const initializerContext = coreMock.createPluginInitializerContext({ maxSpaces: 1000 }); + const core = coreMock.createSetup() as CoreSetup; + const features = featuresPluginMock.createSetup(); + const licensing = licensingMock.createSetup(); + + const usageCollection = usageCollectionPluginMock.createSetupContract(); + + const plugin = new SpacesPlugin(initializerContext); + + const spacesSetup = plugin.setup(core, { features, licensing, usageCollection }); + const coreStart = coreMock.createStart(); + const spacesStart = plugin.start(coreStart); + + await expect(lastValueFrom(spacesSetup.hasOnlyDefaultSpace$)).resolves.toEqual(false); + await expect(lastValueFrom(spacesStart.hasOnlyDefaultSpace$)).resolves.toEqual(false); + }); }); diff --git a/x-pack/plugins/spaces/server/plugin.ts b/x-pack/plugins/spaces/server/plugin.ts index 893d3db22d709..9084a74e24265 100644 --- a/x-pack/plugins/spaces/server/plugin.ts +++ b/x-pack/plugins/spaces/server/plugin.ts @@ -6,6 +6,7 @@ */ import type { Observable } from 'rxjs'; +import { map } from 'rxjs'; import type { CoreSetup, @@ -76,6 +77,13 @@ export interface SpacesPluginSetup { */ registerClientWrapper: (wrapper: SpacesClientWrapper) => void; }; + + /** + * Determines whether Kibana supports multiple spaces or only the default space. + * + * When `xpack.spaces.maxSpaces` is set to 1 Kibana only supports the default space and any spaces related UI can safely be hidden. + */ + hasOnlyDefaultSpace$: Observable; } /** @@ -84,6 +92,13 @@ export interface SpacesPluginSetup { export interface SpacesPluginStart { /** Service for interacting with spaces. */ spacesService: SpacesServiceStart; + + /** + * Determines whether Kibana supports multiple spaces or only the default space. + * + * When `xpack.spaces.maxSpaces` is set to 1 Kibana only supports the default space and any spaces related UI can safely be hidden. + */ + hasOnlyDefaultSpace$: Observable; } export class SpacesPlugin @@ -99,12 +114,15 @@ export class SpacesPlugin private readonly spacesService: SpacesService; + private readonly hasOnlyDefaultSpace$: Observable; + private spacesServiceStart?: SpacesServiceStart; private defaultSpaceService?: DefaultSpaceService; constructor(private readonly initializerContext: PluginInitializerContext) { this.config$ = initializerContext.config.create(); + this.hasOnlyDefaultSpace$ = this.config$.pipe(map(({ maxSpaces }) => maxSpaces === 1)); this.log = initializerContext.logger.get(); this.spacesService = new SpacesService(); this.spacesClientService = new SpacesClientService((message) => this.log.debug(message)); @@ -195,6 +213,7 @@ export class SpacesPlugin return { spacesClient: spacesClientSetup, spacesService: spacesServiceSetup, + hasOnlyDefaultSpace$: this.hasOnlyDefaultSpace$, }; } @@ -208,6 +227,7 @@ export class SpacesPlugin return { spacesService: this.spacesServiceStart, + hasOnlyDefaultSpace$: this.hasOnlyDefaultSpace$, }; } From 2d1c7d232e12b6835daf6a87564461e64882a070 Mon Sep 17 00:00:00 2001 From: Jordan <51442161+JordanSh@users.noreply.github.com> Date: Thu, 14 Sep 2023 15:40:59 +0300 Subject: [PATCH 029/149] [Cloud Security] Fix benchmark rules name and API usage (#166337) --- .../public/pages/benchmarks/benchmarks.tsx | 15 +++++++-------- .../public/pages/rules/index.tsx | 4 ++-- .../public/pages/rules/use_csp_integration.tsx | 9 +++++++-- .../plugins/translations/translations/fr-FR.json | 4 ---- .../plugins/translations/translations/ja-JP.json | 4 ---- .../plugins/translations/translations/zh-CN.json | 4 ---- 6 files changed, 16 insertions(+), 24 deletions(-) diff --git a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks.tsx b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks.tsx index d6d4f2acb8c42..b39bf81a5d31a 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/benchmarks/benchmarks.tsx @@ -68,8 +68,8 @@ const BenchmarkEmptyState = ({ name }: { name: string }) => ( {name && ( ( @@ -154,10 +154,9 @@ export const Benchmarks = () => { data-test-subj={TEST_SUBJ.BENCHMARKS_PAGE_HEADER} pageTitle={ } rightSideItems={[]} diff --git a/x-pack/plugins/cloud_security_posture/public/pages/rules/index.tsx b/x-pack/plugins/cloud_security_posture/public/pages/rules/index.tsx index 897695e1a66fd..d498d7f0dc503 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/rules/index.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/rules/index.tsx @@ -85,8 +85,8 @@ export const Rules = ({ match: { params } }: RouteComponentProps) diff --git a/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_integration.tsx b/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_integration.tsx index 3743127e9b9bd..6d1a01b3d3c2e 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_integration.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/rules/use_csp_integration.tsx @@ -10,6 +10,7 @@ import { type GetOnePackagePolicyResponse, packagePolicyRouteService, agentPolicyRouteService, + API_VERSIONS, } from '@kbn/fleet-plugin/common'; import { type PageUrlParams } from './rules_container'; import { useKibana } from '../../common/hooks/use_kibana'; @@ -20,10 +21,14 @@ export const useCspIntegrationInfo = ({ packagePolicyId, policyId }: PageUrlPara return useQuery(['cspRulesInfo', { packagePolicyId, policyId }], () => Promise.all([ http - .get(packagePolicyRouteService.getInfoPath(packagePolicyId)) + .get(packagePolicyRouteService.getInfoPath(packagePolicyId), { + version: API_VERSIONS.public.v1, + }) .then((response) => response.item), http - .get(agentPolicyRouteService.getInfoPath(policyId)) + .get(agentPolicyRouteService.getInfoPath(policyId), { + version: API_VERSIONS.public.v1, + }) .then((response) => response.item), ]) ); diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index cf4d39d5fa9cd..7d74a3369d08a 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -11310,11 +11310,8 @@ "xpack.csp.awsIntegration.sharedCredentialsDescription": "Si vous utilisez différentes informations d'identification AWS pour différents outils ou applications, vous pouvez utiliser les profils pour définir plusieurs clés d'accès dans le même fichier de configuration.", "xpack.csp.awsIntegration.temporaryKeysDescription": "Vous pouvez configurer dans AWS des informations d'identification de sécurité temporaires pour une durée spécifiée. Elles comprennent un ID de clé d'accès, une clé d'accès secrète et un jeton de sécurité, qui peut généralement être récupéré à l'aide de GetSessionToken.", "xpack.csp.awsIntegration.temporaryKeysLabel": "Clés temporaires", - "xpack.csp.benchmarks.benchmarkEmptyState.integrationsNotFoundTitle": "Aucune intégration Benchmark trouvée", - "xpack.csp.benchmarks.benchmarkEmptyState.integrationsNotFoundWithFiltersTitle": "Nous n'avons trouvé aucune intégration Benchmark avec les filtres ci-dessus.", "xpack.csp.benchmarks.benchmarkSearchField.searchPlaceholder": "Rechercher par nom d'intégration", "xpack.csp.benchmarks.benchmarksPageHeader.addIntegrationButtonLabel": "Ajouter une intégration", - "xpack.csp.benchmarks.benchmarksPageHeader.benchmarkIntegrationsTitle": "Intégrations Benchmark", "xpack.csp.benchmarks.benchmarksTable.agentPolicyColumnTitle": "Politique d'agent", "xpack.csp.benchmarks.benchmarksTable.createdAtColumnTitle": "Créé", "xpack.csp.benchmarks.benchmarksTable.createdByColumnTitle": "Créé par", @@ -11528,7 +11525,6 @@ "xpack.csp.rules.manageIntegrationButtonLabel": "Gérer l'intégration", "xpack.csp.rules.ruleFlyout.overviewTabLabel": "Aperçu", "xpack.csp.rules.ruleFlyout.remediationTabLabel": "Résolution", - "xpack.csp.rules.rulesPageHeader.benchmarkIntegrationsButtonLabel": "Intégrations Benchmark", "xpack.csp.rules.rulesPageSharedValues.benchmarkTitle": "Benchmark", "xpack.csp.rules.rulesPageSharedValues.deploymentTypeTitle": "Type de déploiement", "xpack.csp.rules.rulesPageSharedValues.integrationTitle": "Intégration", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 5e5e0c270da7d..d518dba93269b 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -11325,11 +11325,8 @@ "xpack.csp.awsIntegration.sharedCredentialsDescription": "ツールやアプリケーションごとに異なるAWS認証情報を使用する場合、プロファイルを使用して、同じ設定ファイルに複数のアクセスキーを定義することができます。", "xpack.csp.awsIntegration.temporaryKeysDescription": "AWSの一時的なセキュリティ認証情報は、指定した期間だけ存続するように設定することができます。アクセスキーID、シークレットアクセスキー、セキュリティトークンから構成され、通常GetSessionTokenで確認することができます。", "xpack.csp.awsIntegration.temporaryKeysLabel": "一時キー", - "xpack.csp.benchmarks.benchmarkEmptyState.integrationsNotFoundTitle": "ベンチマーク統合が見つかりません", - "xpack.csp.benchmarks.benchmarkEmptyState.integrationsNotFoundWithFiltersTitle": "上記のフィルターでベンチマーク統合が見つかりませんでした。", "xpack.csp.benchmarks.benchmarkSearchField.searchPlaceholder": "統合名で検索", "xpack.csp.benchmarks.benchmarksPageHeader.addIntegrationButtonLabel": "統合の追加", - "xpack.csp.benchmarks.benchmarksPageHeader.benchmarkIntegrationsTitle": "ベンチマーク統合", "xpack.csp.benchmarks.benchmarksTable.agentPolicyColumnTitle": "エージェントポリシー", "xpack.csp.benchmarks.benchmarksTable.createdAtColumnTitle": "作成済み", "xpack.csp.benchmarks.benchmarksTable.createdByColumnTitle": "作成者", @@ -11543,7 +11540,6 @@ "xpack.csp.rules.manageIntegrationButtonLabel": "統合を管理", "xpack.csp.rules.ruleFlyout.overviewTabLabel": "概要", "xpack.csp.rules.ruleFlyout.remediationTabLabel": "修正", - "xpack.csp.rules.rulesPageHeader.benchmarkIntegrationsButtonLabel": "ベンチマーク統合", "xpack.csp.rules.rulesPageSharedValues.benchmarkTitle": "ベンチマーク", "xpack.csp.rules.rulesPageSharedValues.deploymentTypeTitle": "デプロイタイプ", "xpack.csp.rules.rulesPageSharedValues.integrationTitle": "統合", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index fb9e9ab806a35..99b6008b94bb4 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -11325,11 +11325,8 @@ "xpack.csp.awsIntegration.sharedCredentialsDescription": "如果对不同工具或应用程序使用不同的 AWS 凭据,可以使用配置文件在同一配置文件中定义多个访问密钥。", "xpack.csp.awsIntegration.temporaryKeysDescription": "您可以在 AWS 中配置在指定持续时间内有效的临时安全凭据。它们包括访问密钥 ID、机密访问密钥和安全令牌(通常使用 GetSessionToken 查找)。", "xpack.csp.awsIntegration.temporaryKeysLabel": "临时密钥", - "xpack.csp.benchmarks.benchmarkEmptyState.integrationsNotFoundTitle": "找不到基准集成", - "xpack.csp.benchmarks.benchmarkEmptyState.integrationsNotFoundWithFiltersTitle": "使用上述筛选,我们无法找到任何基准集成。", "xpack.csp.benchmarks.benchmarkSearchField.searchPlaceholder": "按集成名称搜索", "xpack.csp.benchmarks.benchmarksPageHeader.addIntegrationButtonLabel": "添加集成", - "xpack.csp.benchmarks.benchmarksPageHeader.benchmarkIntegrationsTitle": "基准集成", "xpack.csp.benchmarks.benchmarksTable.agentPolicyColumnTitle": "代理策略", "xpack.csp.benchmarks.benchmarksTable.createdAtColumnTitle": "创建时间", "xpack.csp.benchmarks.benchmarksTable.createdByColumnTitle": "创建者", @@ -11543,7 +11540,6 @@ "xpack.csp.rules.manageIntegrationButtonLabel": "管理集成", "xpack.csp.rules.ruleFlyout.overviewTabLabel": "概览", "xpack.csp.rules.ruleFlyout.remediationTabLabel": "补救", - "xpack.csp.rules.rulesPageHeader.benchmarkIntegrationsButtonLabel": "基准集成", "xpack.csp.rules.rulesPageSharedValues.benchmarkTitle": "基准", "xpack.csp.rules.rulesPageSharedValues.deploymentTypeTitle": "部署类型", "xpack.csp.rules.rulesPageSharedValues.integrationTitle": "集成", From 7010742461a3e974f918d10bc181c4737aa08edd Mon Sep 17 00:00:00 2001 From: Kaarina Tungseth Date: Thu, 14 Sep 2023 07:42:05 -0500 Subject: [PATCH 030/149] [DOCS] Adds #160116 known issue to 8.9 release notes (#166371) Adds #160116 known issue to 8.9 release notes. --- docs/CHANGELOG.asciidoc | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index 431f3dafe186b..765f1949ff5f5 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -394,6 +394,28 @@ Discover:: For information about the {kib} 8.9.0 release, review the following information. +[float] +[[known-issues-8.9.0]] +=== Known issues + +// tag::known-issue-160116[] +[discrete] +.Changes to Lens visualizations do not appear in the saved object. +[%collapsible] +==== +*Details* + +Changes to Lens visualizations do not appear in the saved object. + +*Impact* + +When you remove fields from Lens visualizations, then save your changes, the removed fields continue to appear in the Lens visualization saved objects. +For example, when you remove runtime fields from a Lens visualization and {kib}, then inspect the Lens visualization saved object, the runtime fields continue to appear and an error message appears. + +*Workaround* + +In 8.10.0, we are addressing this issue by merging the existing and changed saved object instead of replacing the saved object. + +==== +// end::known-issue-161249[] + [float] [[breaking-changes-8.9.0]] === Breaking changes From bd0ed6cd893534ed9c5a938f7afc9c43f563c975 Mon Sep 17 00:00:00 2001 From: Ying Mao Date: Thu, 14 Sep 2023 08:48:24 -0400 Subject: [PATCH 031/149] [Response Ops][Actions] Handling saved object client bulkGet errors when enqueuing actions (#166396) ## Summary Seeing a bunch of errors like this in serverless logs: ``` Executing Rule default:.es-query:23dedce0-5230-11ee-b332-73fb351d06b8 has resulted in Error: Cannot read properties of undefined (reading 'meta') - TypeError: Cannot read properties of undefined (reading 'meta')\n at /usr/share/kibana/node_modules/@kbn/actions-plugin/server/authorization/get_authorization_mode_by_source.js:45:56\n at Array.reduce ()\n at getBulkAuthorizationModeBySource (/usr/share/kibana/node_modules/@kbn/actions-plugin/server/authorization/get_authorization_mode_by_source.js:43:47)\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at ActionsClient.bulkEnqueueExecution (/usr/share/kibana/node_modules/@kbn/actions-plugin/server/actions_client/actions_client.js:588:24)\n at ExecutionHandler.run (/usr/share/kibana/node_modules/@kbn/alerting-plugin/server/task_runner/execution_handler.js:249:28)\n at /usr/share/kibana/node_modules/@kbn/alerting-plugin/server/task_runner/task_runner.js:413:37\n at TaskRunnerTimer.runWithTimer (/usr/share/kibana/node_modules/@kbn/alerting-plugin/server/task_runner/task_runner_timer.js:50:20)\n at TaskRunner.runRule (/usr/share/kibana/node_modules/@kbn/alerting-plugin/server/task_runner/task_runner.js:406:5)\n at TaskRunner.run (/usr/share/kibana/node_modules/@kbn/alerting-plugin/server/task_runner/task_runner.js:629:49)\n at TaskManagerRunner.run (/usr/share/kibana/node_modules/@kbn/task-manager-plugin/server/task_running/task_runner.js:315:170) ``` which seem to be caused by connectivity issues between Kibana and ES. In this case, when a rule executes and tries to schedule an action, we use the saved objects client `bulkGet` function to determine if the rule is a legacy (pre 7.10) version. We were not checking for errors returned from the `bulkGet` (which returns as a 200 with errors embedded in the success response) and so were trying to access data from the SO that did not exist. This PR checks for errors returned from the `bulkGet` and logs the error accordingly. Also did some small optimizations to the code Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../actions_client/actions_client.test.ts | 14 +-- .../server/actions_client/actions_client.ts | 22 ++-- .../connector/methods/get_all/get_all.test.ts | 2 +- .../get_authorization_mode_by_source.test.ts | 117 ++++++++++++++---- .../get_authorization_mode_by_source.ts | 67 ++++++---- 5 files changed, 156 insertions(+), 66 deletions(-) diff --git a/x-pack/plugins/actions/server/actions_client/actions_client.test.ts b/x-pack/plugins/actions/server/actions_client/actions_client.test.ts index 233261ea213f7..35860bdfb0c53 100644 --- a/x-pack/plugins/actions/server/actions_client/actions_client.test.ts +++ b/x-pack/plugins/actions/server/actions_client/actions_client.test.ts @@ -37,7 +37,7 @@ import { ActionsAuthorization } from '../authorization/actions_authorization'; import { getAuthorizationModeBySource, AuthorizationMode, - getBulkAuthorizationModeBySource, + bulkGetAuthorizationModeBySource, } from '../authorization/get_authorization_mode_by_source'; import { actionsAuthorizationMock } from '../authorization/actions_authorization.mock'; import { trackLegacyRBACExemption } from '../lib/track_legacy_rbac_exemption'; @@ -71,7 +71,7 @@ jest.mock('../authorization/get_authorization_mode_by_source', () => { getAuthorizationModeBySource: jest.fn(() => { return 1; }), - getBulkAuthorizationModeBySource: jest.fn(() => { + bulkGetAuthorizationModeBySource: jest.fn(() => { return 1; }), AuthorizationMode: { @@ -3007,8 +3007,8 @@ describe('execute()', () => { describe('bulkEnqueueExecution()', () => { describe('authorization', () => { - test('ensures user is authorised to excecute actions', async () => { - (getBulkAuthorizationModeBySource as jest.Mock).mockImplementationOnce(() => { + test('ensures user is authorised to execute actions', async () => { + (bulkGetAuthorizationModeBySource as jest.Mock).mockImplementationOnce(() => { return { [AuthorizationMode.RBAC]: 1, [AuthorizationMode.Legacy]: 0 }; }); await actionsClient.bulkEnqueueExecution([ @@ -3037,7 +3037,7 @@ describe('bulkEnqueueExecution()', () => { }); test('throws when user is not authorised to create the type of action', async () => { - (getBulkAuthorizationModeBySource as jest.Mock).mockImplementationOnce(() => { + (bulkGetAuthorizationModeBySource as jest.Mock).mockImplementationOnce(() => { return { [AuthorizationMode.RBAC]: 1, [AuthorizationMode.Legacy]: 0 }; }); authorization.ensureAuthorized.mockRejectedValue( @@ -3073,7 +3073,7 @@ describe('bulkEnqueueExecution()', () => { }); test('tracks legacy RBAC', async () => { - (getBulkAuthorizationModeBySource as jest.Mock).mockImplementationOnce(() => { + (bulkGetAuthorizationModeBySource as jest.Mock).mockImplementationOnce(() => { return { [AuthorizationMode.RBAC]: 0, [AuthorizationMode.Legacy]: 2 }; }); @@ -3107,7 +3107,7 @@ describe('bulkEnqueueExecution()', () => { }); test('calls the bulkExecutionEnqueuer with the appropriate parameters', async () => { - (getBulkAuthorizationModeBySource as jest.Mock).mockImplementationOnce(() => { + (bulkGetAuthorizationModeBySource as jest.Mock).mockImplementationOnce(() => { return { [AuthorizationMode.RBAC]: 0, [AuthorizationMode.Legacy]: 0 }; }); const opts = [ diff --git a/x-pack/plugins/actions/server/actions_client/actions_client.ts b/x-pack/plugins/actions/server/actions_client/actions_client.ts index 73a87900db1a7..f5cf395721795 100644 --- a/x-pack/plugins/actions/server/actions_client/actions_client.ts +++ b/x-pack/plugins/actions/server/actions_client/actions_client.ts @@ -11,7 +11,7 @@ import url from 'url'; import { UsageCounter } from '@kbn/usage-collection-plugin/server'; import { i18n } from '@kbn/i18n'; -import { omitBy, isUndefined } from 'lodash'; +import { omitBy, isUndefined, compact } from 'lodash'; import { IScopedClusterClient, SavedObjectsClientContract, @@ -60,7 +60,7 @@ import { import { ActionsAuthorization } from '../authorization/actions_authorization'; import { getAuthorizationModeBySource, - getBulkAuthorizationModeBySource, + bulkGetAuthorizationModeBySource, AuthorizationMode, } from '../authorization/get_authorization_mode_by_source'; import { connectorAuditEvent, ConnectorAuditAction } from '../lib/audit_events'; @@ -770,18 +770,16 @@ export class ActionsClient { public async bulkEnqueueExecution( options: EnqueueExecutionOptions[] ): Promise { - const sources: Array> = []; - options.forEach((option) => { - if (option.source) { - sources.push(option.source); - } - }); + const sources: Array> = compact( + (options ?? []).map((option) => option.source) + ); - const authCounts = await getBulkAuthorizationModeBySource( + const authModes = await bulkGetAuthorizationModeBySource( + this.context.logger, this.context.unsecuredSavedObjectsClient, sources ); - if (authCounts[AuthorizationMode.RBAC] > 0) { + if (authModes[AuthorizationMode.RBAC] > 0) { /** * For scheduled executions the additional authorization check * for system actions (kibana privileges) will be performed @@ -789,11 +787,11 @@ export class ActionsClient { */ await this.context.authorization.ensureAuthorized({ operation: 'execute' }); } - if (authCounts[AuthorizationMode.Legacy] > 0) { + if (authModes[AuthorizationMode.Legacy] > 0) { trackLegacyRBACExemption( 'bulkEnqueueExecution', this.context.usageCounter, - authCounts[AuthorizationMode.Legacy] + authModes[AuthorizationMode.Legacy] ); } return this.context.bulkExecutionEnqueuer(this.context.unsecuredSavedObjectsClient, options); diff --git a/x-pack/plugins/actions/server/application/connector/methods/get_all/get_all.test.ts b/x-pack/plugins/actions/server/application/connector/methods/get_all/get_all.test.ts index 7e2ceb5b653c8..2e264300490f8 100644 --- a/x-pack/plugins/actions/server/application/connector/methods/get_all/get_all.test.ts +++ b/x-pack/plugins/actions/server/application/connector/methods/get_all/get_all.test.ts @@ -41,7 +41,7 @@ jest.mock('../../../../authorization/get_authorization_mode_by_source', () => { getAuthorizationModeBySource: jest.fn(() => { return 1; }), - getBulkAuthorizationModeBySource: jest.fn(() => { + bulkGetAuthorizationModeBySource: jest.fn(() => { return 1; }), AuthorizationMode: { diff --git a/x-pack/plugins/actions/server/authorization/get_authorization_mode_by_source.test.ts b/x-pack/plugins/actions/server/authorization/get_authorization_mode_by_source.test.ts index 199d8a97bd623..7ba856b91fb97 100644 --- a/x-pack/plugins/actions/server/authorization/get_authorization_mode_by_source.test.ts +++ b/x-pack/plugins/actions/server/authorization/get_authorization_mode_by_source.test.ts @@ -7,14 +7,16 @@ import { getAuthorizationModeBySource, - getBulkAuthorizationModeBySource, + bulkGetAuthorizationModeBySource, AuthorizationMode, } from './get_authorization_mode_by_source'; -import { savedObjectsClientMock } from '@kbn/core/server/mocks'; +import { loggingSystemMock, savedObjectsClientMock } from '@kbn/core/server/mocks'; import { v4 as uuidv4 } from 'uuid'; -import { asSavedObjectExecutionSource } from '../lib'; +import { asHttpRequestExecutionSource, asSavedObjectExecutionSource } from '../lib'; +import { KibanaRequest, Logger } from '@kbn/core/server'; const unsecuredSavedObjectsClient = savedObjectsClientMock.create(); +const logger = loggingSystemMock.create().get() as jest.Mocked; describe(`#getAuthorizationModeBySource`, () => { test('should return RBAC if no source is provided', async () => { @@ -37,7 +39,7 @@ describe(`#getAuthorizationModeBySource`, () => { test('should return RBAC if source alert is not marked as legacy', async () => { const id = uuidv4(); - unsecuredSavedObjectsClient.get.mockResolvedValue(mockAlert({ id })); + unsecuredSavedObjectsClient.get.mockResolvedValue(mockRuleSO({ id })); expect( await getAuthorizationModeBySource( unsecuredSavedObjectsClient, @@ -52,7 +54,7 @@ describe(`#getAuthorizationModeBySource`, () => { test('should return Legacy if source alert is marked as legacy', async () => { const id = uuidv4(); unsecuredSavedObjectsClient.get.mockResolvedValue( - mockAlert({ id, attributes: { meta: { versionApiKeyLastmodified: 'pre-7.10.0' } } }) + mockRuleSO({ id, attributes: { meta: { versionApiKeyLastmodified: 'pre-7.10.0' } } }) ); expect( await getAuthorizationModeBySource( @@ -68,7 +70,7 @@ describe(`#getAuthorizationModeBySource`, () => { test('should return RBAC if source alert is marked as modern', async () => { const id = uuidv4(); unsecuredSavedObjectsClient.get.mockResolvedValue( - mockAlert({ id, attributes: { meta: { versionApiKeyLastmodified: '7.10.0' } } }) + mockRuleSO({ id, attributes: { meta: { versionApiKeyLastmodified: '7.10.0' } } }) ); expect( await getAuthorizationModeBySource( @@ -83,7 +85,7 @@ describe(`#getAuthorizationModeBySource`, () => { test('should return RBAC if source alert doesnt have a last modified version', async () => { const id = uuidv4(); - unsecuredSavedObjectsClient.get.mockResolvedValue(mockAlert({ id, attributes: { meta: {} } })); + unsecuredSavedObjectsClient.get.mockResolvedValue(mockRuleSO({ id, attributes: { meta: {} } })); expect( await getAuthorizationModeBySource( unsecuredSavedObjectsClient, @@ -96,32 +98,71 @@ describe(`#getAuthorizationModeBySource`, () => { }); }); -describe(`#getBulkAuthorizationModeBySource`, () => { - test('should return RBAC if no source is provided', async () => { - unsecuredSavedObjectsClient.bulkGet.mockResolvedValue({ saved_objects: [] }); - expect(await getBulkAuthorizationModeBySource(unsecuredSavedObjectsClient)).toEqual({ +describe(`#bulkGetAuthorizationModeBySource`, () => { + beforeEach(() => { + jest.resetAllMocks(); + }); + + test('should return RBAC if no sources are provided', async () => { + expect(await bulkGetAuthorizationModeBySource(logger, unsecuredSavedObjectsClient)).toEqual({ [AuthorizationMode.RBAC]: 1, [AuthorizationMode.Legacy]: 0, }); + expect(unsecuredSavedObjectsClient.bulkGet).not.toHaveBeenCalled(); }); - test('should return RBAC if source is not an alert', async () => { - unsecuredSavedObjectsClient.bulkGet.mockResolvedValue({ saved_objects: [] }); + test('should return RBAC if no alert sources are provided', async () => { expect( - await getBulkAuthorizationModeBySource(unsecuredSavedObjectsClient, [ + await bulkGetAuthorizationModeBySource(logger, unsecuredSavedObjectsClient, [ asSavedObjectExecutionSource({ type: 'action', id: uuidv4(), }), + asHttpRequestExecutionSource({} as KibanaRequest), ]) ).toEqual({ [AuthorizationMode.RBAC]: 1, [AuthorizationMode.Legacy]: 0 }); + + expect(unsecuredSavedObjectsClient.bulkGet).not.toHaveBeenCalled(); + }); + + test('should consolidate duplicate alert sources', async () => { + unsecuredSavedObjectsClient.bulkGet.mockResolvedValue({ + saved_objects: [mockRuleSO({ id: '1' }), mockRuleSO({ id: '2' })], + }); + expect( + await bulkGetAuthorizationModeBySource(logger, unsecuredSavedObjectsClient, [ + asSavedObjectExecutionSource({ + type: 'alert', + id: '1', + }), + asSavedObjectExecutionSource({ + type: 'alert', + id: '1', + }), + asSavedObjectExecutionSource({ + type: 'alert', + id: '2', + }), + ]) + ).toEqual({ [AuthorizationMode.RBAC]: 2, [AuthorizationMode.Legacy]: 0 }); + + expect(unsecuredSavedObjectsClient.bulkGet).toHaveBeenCalledWith([ + { + type: 'alert', + id: '1', + }, + { + type: 'alert', + id: '2', + }, + ]); }); test('should return RBAC if source alert is not marked as legacy', async () => { const id = uuidv4(); - unsecuredSavedObjectsClient.bulkGet.mockResolvedValue({ saved_objects: [mockAlert({ id })] }); + unsecuredSavedObjectsClient.bulkGet.mockResolvedValue({ saved_objects: [mockRuleSO({ id })] }); expect( - await getBulkAuthorizationModeBySource(unsecuredSavedObjectsClient, [ + await bulkGetAuthorizationModeBySource(logger, unsecuredSavedObjectsClient, [ asSavedObjectExecutionSource({ type: 'alert', id, @@ -134,11 +175,11 @@ describe(`#getBulkAuthorizationModeBySource`, () => { const id = uuidv4(); unsecuredSavedObjectsClient.bulkGet.mockResolvedValue({ saved_objects: [ - mockAlert({ id, attributes: { meta: { versionApiKeyLastmodified: 'pre-7.10.0' } } }), + mockRuleSO({ id, attributes: { meta: { versionApiKeyLastmodified: 'pre-7.10.0' } } }), ], }); expect( - await getBulkAuthorizationModeBySource(unsecuredSavedObjectsClient, [ + await bulkGetAuthorizationModeBySource(logger, unsecuredSavedObjectsClient, [ asSavedObjectExecutionSource({ type: 'alert', id, @@ -151,11 +192,11 @@ describe(`#getBulkAuthorizationModeBySource`, () => { const id = uuidv4(); unsecuredSavedObjectsClient.bulkGet.mockResolvedValue({ saved_objects: [ - mockAlert({ id, attributes: { meta: { versionApiKeyLastmodified: '7.10.0' } } }), + mockRuleSO({ id, attributes: { meta: { versionApiKeyLastmodified: '7.10.0' } } }), ], }); expect( - await getBulkAuthorizationModeBySource(unsecuredSavedObjectsClient, [ + await bulkGetAuthorizationModeBySource(logger, unsecuredSavedObjectsClient, [ asSavedObjectExecutionSource({ type: 'alert', id, @@ -167,10 +208,10 @@ describe(`#getBulkAuthorizationModeBySource`, () => { test('should return RBAC if source alert doesnt have a last modified version', async () => { const id = uuidv4(); unsecuredSavedObjectsClient.bulkGet.mockResolvedValue({ - saved_objects: [mockAlert({ id, attributes: { meta: {} } })], + saved_objects: [mockRuleSO({ id, attributes: { meta: {} } })], }); expect( - await getBulkAuthorizationModeBySource(unsecuredSavedObjectsClient, [ + await bulkGetAuthorizationModeBySource(logger, unsecuredSavedObjectsClient, [ asSavedObjectExecutionSource({ type: 'alert', id, @@ -178,9 +219,39 @@ describe(`#getBulkAuthorizationModeBySource`, () => { ]) ).toEqual({ [AuthorizationMode.RBAC]: 1, [AuthorizationMode.Legacy]: 0 }); }); + + test('should return RBAC and log warning if error getting source alert', async () => { + unsecuredSavedObjectsClient.bulkGet.mockResolvedValue({ + saved_objects: [ + mockRuleSO({ id: '1', attributes: { meta: { versionApiKeyLastmodified: 'pre-7.10.0' } } }), + // @ts-expect-error + { + id: '2', + type: 'alert', + error: { statusCode: 404, error: 'failed to get', message: 'fail' }, + }, + ], + }); + expect( + await bulkGetAuthorizationModeBySource(logger, unsecuredSavedObjectsClient, [ + asSavedObjectExecutionSource({ + type: 'alert', + id: '1', + }), + asSavedObjectExecutionSource({ + type: 'alert', + id: '2', + }), + ]) + ).toEqual({ [AuthorizationMode.RBAC]: 1, [AuthorizationMode.Legacy]: 1 }); + + expect(logger.warn).toHaveBeenCalledWith( + `Error retrieving saved object [alert/2] - fail - default to using RBAC authorization mode.` + ); + }); }); -const mockAlert = (overrides: Record = {}) => ({ +const mockRuleSO = (overrides: Record = {}) => ({ id: '1', type: 'alert', attributes: { diff --git a/x-pack/plugins/actions/server/authorization/get_authorization_mode_by_source.ts b/x-pack/plugins/actions/server/authorization/get_authorization_mode_by_source.ts index 7980db61ee31c..ace66798b24ba 100644 --- a/x-pack/plugins/actions/server/authorization/get_authorization_mode_by_source.ts +++ b/x-pack/plugins/actions/server/authorization/get_authorization_mode_by_source.ts @@ -5,10 +5,10 @@ * 2.0. */ -import { SavedObjectsClientContract } from '@kbn/core/server'; -import { get } from 'lodash'; +import { Logger, SavedObjectsClientContract } from '@kbn/core/server'; import { ActionExecutionSource, isSavedObjectExecutionSource } from '../lib'; import { ALERT_SAVED_OBJECT_TYPE } from '../constants/saved_objects'; +import { SavedObjectExecutionSource } from '../lib/action_execution_source'; const LEGACY_VERSION = 'pre-7.10.0'; @@ -34,36 +34,57 @@ export async function getAuthorizationModeBySource( : AuthorizationMode.RBAC; } -export async function getBulkAuthorizationModeBySource( +export async function bulkGetAuthorizationModeBySource( + logger: Logger, unsecuredSavedObjectsClient: SavedObjectsClientContract, executionSources: Array> = [] -): Promise> { - const count = { [AuthorizationMode.Legacy]: 0, [AuthorizationMode.RBAC]: 0 }; - if (executionSources.length === 0) { - count[AuthorizationMode.RBAC] = 1; - return count; +): Promise> { + const authModes = { [AuthorizationMode.Legacy]: 0, [AuthorizationMode.RBAC]: 0 }; + + const alertSavedObjectExecutionSources: SavedObjectExecutionSource[] = executionSources.filter( + (source) => + isSavedObjectExecutionSource(source) && source?.source?.type === ALERT_SAVED_OBJECT_TYPE + ) as SavedObjectExecutionSource[]; + + // If no ALERT_SAVED_OBJECT_TYPE source, default to RBAC + if (alertSavedObjectExecutionSources.length === 0) { + authModes[AuthorizationMode.RBAC] = 1; + return authModes; } - const alerts = await unsecuredSavedObjectsClient.bulkGet<{ + + // Collect the unique rule IDs for ALERT_SAVED_OBJECT_TYPE sources and bulk get the associated SOs + const rulesIds = new Set( + alertSavedObjectExecutionSources.map((source: SavedObjectExecutionSource) => source?.source?.id) + ); + + // Get rule saved objects to determine whether to use RBAC or legacy authorization source + const ruleSOs = await unsecuredSavedObjectsClient.bulkGet<{ meta?: { versionApiKeyLastmodified?: string; }; }>( - executionSources.map((es) => ({ + [...rulesIds].map((id) => ({ type: ALERT_SAVED_OBJECT_TYPE, - id: get(es, 'source.id'), + id, })) ); - const legacyVersions = alerts.saved_objects.reduce>((acc, so) => { - acc[so.id] = so.attributes.meta?.versionApiKeyLastmodified === LEGACY_VERSION; - return acc; - }, {}); - return executionSources.reduce((acc, es) => { - const isAlertSavedObject = - isSavedObjectExecutionSource(es) && es.source?.type === ALERT_SAVED_OBJECT_TYPE; - const isLegacyVersion = legacyVersions[get(es, 'source.id')]; - const key = - isAlertSavedObject && isLegacyVersion ? AuthorizationMode.Legacy : AuthorizationMode.RBAC; - acc[key]++; + + return ruleSOs.saved_objects.reduce((acc, ruleSO) => { + if (ruleSO.error) { + logger.warn( + `Error retrieving saved object [${ruleSO.type}/${ruleSO.id}] - ${ruleSO.error?.message} - default to using RBAC authorization mode.` + ); + // If there's an error retrieving the saved object, default to RBAC auth mode to avoid privilege de-escalation + authModes[AuthorizationMode.RBAC]++; + } else { + // Check whether this is a legacy rule + const isLegacy = ruleSO.attributes?.meta?.versionApiKeyLastmodified === LEGACY_VERSION; + if (isLegacy) { + authModes[AuthorizationMode.Legacy]++; + } else { + authModes[AuthorizationMode.RBAC]++; + } + } return acc; - }, count); + }, authModes); } From cfd65eb5c447e297c5bdcd9ba26fde7f34d5eeac Mon Sep 17 00:00:00 2001 From: Maxim Kholod Date: Thu, 14 Sep 2023 15:28:18 +0200 Subject: [PATCH 032/149] [Cloud Security] add api version to fleet call (#166335) ## Summary fixes - https://github.com/elastic/security-team/issues/7623 adding version to the fleet call --- .../public/common/api/use_cis_kubernetes_integration.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/cloud_security_posture/public/common/api/use_cis_kubernetes_integration.tsx b/x-pack/plugins/cloud_security_posture/public/common/api/use_cis_kubernetes_integration.tsx index 0ee08d915c0d1..e5f226a3c3352 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/api/use_cis_kubernetes_integration.tsx +++ b/x-pack/plugins/cloud_security_posture/public/common/api/use_cis_kubernetes_integration.tsx @@ -10,6 +10,7 @@ import { epmRouteService, type GetInfoResponse, type DefaultPackagesInstallationError, + API_VERSIONS, } from '@kbn/fleet-plugin/common'; import { CLOUD_SECURITY_POSTURE_PACKAGE_NAME } from '../../../common/constants'; import { useKibana } from '../hooks/use_kibana'; @@ -21,6 +22,8 @@ export const useCisKubernetesIntegration = () => { const { http } = useKibana().services; return useQuery(['integrations'], () => - http.get(epmRouteService.getInfoPath(CLOUD_SECURITY_POSTURE_PACKAGE_NAME)) + http.get(epmRouteService.getInfoPath(CLOUD_SECURITY_POSTURE_PACKAGE_NAME), { + version: API_VERSIONS.public.v1, + }) ); }; From 14af57b2e80041fee856789681afd8b2c95936af Mon Sep 17 00:00:00 2001 From: Steph Milovic Date: Thu, 14 Sep 2023 07:32:04 -0600 Subject: [PATCH 033/149] [Security solution] Remove extra data from tracking clicks (#164378) --- .../src/track_clicks.ts | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/core/analytics/core-analytics-browser-internal/src/track_clicks.ts b/packages/core/analytics/core-analytics-browser-internal/src/track_clicks.ts index f2ba7c25de768..d140a6c99e7b0 100644 --- a/packages/core/analytics/core-analytics-browser-internal/src/track_clicks.ts +++ b/packages/core/analytics/core-analytics-browser-internal/src/track_clicks.ts @@ -9,8 +9,17 @@ import { fromEvent } from 'rxjs'; import type { AnalyticsClient } from '@kbn/analytics-client'; -/** HTML attributes that should be skipped from reporting because they might contain user data */ -const POTENTIAL_PII_HTML_ATTRIBUTES = ['value']; +/** HTML attributes that should be skipped from reporting because they might contain data we do not wish to collect */ +const HTML_ATTRIBUTES_TO_REMOVE = [ + 'data-href', + 'data-ech-series-name', + 'data-provider-id', + 'data-rfd-drag-handle-draggable-id', + 'data-rfd-droppable-id', + 'data-rfd-draggable-id', + 'href', + 'value', +]; /** * Registers the event type "click" in the analytics client. @@ -71,7 +80,7 @@ function getTargetDefinition(target: HTMLElement): string[] { ...(target.parentElement ? getTargetDefinition(target.parentElement) : []), target.tagName, ...[...target.attributes] - .filter((attr) => !POTENTIAL_PII_HTML_ATTRIBUTES.includes(attr.name)) + .filter((attr) => !HTML_ATTRIBUTES_TO_REMOVE.includes(attr.name)) .map((attr) => `${attr.name}=${attr.value}`), ]; } From 26ba212c4438c092c176ced87e908f3595047093 Mon Sep 17 00:00:00 2001 From: Alexi Doak <109488926+doakalexi@users.noreply.github.com> Date: Thu, 14 Sep 2023 07:03:20 -0700 Subject: [PATCH 034/149] [ResponseOps][Alerting] Unskips flaky serverless tests (#166091) Resolves https://github.com/elastic/kibana/issues/165388 Resolves https://github.com/elastic/kibana/issues/164017 Resolves https://github.com/elastic/kibana/issues/163993 Resolves https://github.com/elastic/kibana/issues/165779 Resolves https://github.com/elastic/kibana/issues/165521 Resolves https://github.com/elastic/kibana/issues/165388 ## Summary Unskips serverless tests Observability x [50](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3101), x [250](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3105) Security x [50](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3103), x [250](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3107) Search x [50](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3102), x [250](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3106) --- .../common/alerting/alert_documents.ts | 4 +--- .../helpers/alerting_wait_for_helpers.ts | 12 +++++----- .../test_suites/common/alerting/rules.ts | 24 ++++--------------- 3 files changed, 11 insertions(+), 29 deletions(-) diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts index 12d23a3c6d78e..799d87f65e10f 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/alert_documents.ts @@ -19,9 +19,7 @@ export default function ({ getService }: FtrProviderContext) { const esClient = getService('es'); const objectRemover = new ObjectRemover(supertest); - // FLAKY: https://github.com/elastic/kibana/issues/165779 - // FLAKY: https://github.com/elastic/kibana/issues/165388 - describe.skip('Alert documents', () => { + describe('Alert documents', () => { const RULE_TYPE_ID = '.es-query'; const ALERT_INDEX = '.alerts-stack.alerts-default'; let ruleId: string; diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts index 7b86988e879c3..5422d6a7b8cee 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/helpers/alerting_wait_for_helpers.ts @@ -23,7 +23,7 @@ export async function waitForDocumentInIndex({ indexName: string; num?: number; }): Promise { - return pRetry( + return await pRetry( async () => { const response = await esClient.search({ index: indexName }); if (response.hits.hits.length < num) { @@ -74,7 +74,7 @@ export async function waitForAlertInIndex({ ruleId: string; num: number; }): Promise>> { - return pRetry( + return await pRetry( async () => { const response = await esClient.search({ index: indexName, @@ -115,7 +115,7 @@ export async function waitForAllTasksIdle({ esClient: Client; filter: Date; }): Promise { - return pRetry( + return await pRetry( async () => { const response = await esClient.search({ index: '.kibana_task_manager', @@ -167,7 +167,7 @@ export async function waitForAllTasks({ taskType: string; attempts: number; }): Promise { - return pRetry( + return await pRetry( async () => { const response = await esClient.search({ index: '.kibana_task_manager', @@ -225,7 +225,7 @@ export async function waitForDisabled({ ruleId: string; filter: Date; }): Promise { - return pRetry( + return await pRetry( async () => { const response = await esClient.search({ index: '.kibana_task_manager', @@ -280,7 +280,7 @@ export async function waitForExecutionEventLog({ ruleId: string; num?: number; }): Promise { - return pRetry( + return await pRetry( async () => { const response = await esClient.search({ index: '.kibana-event-log*', diff --git a/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts b/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts index dd6060a397059..e9d3c85f21028 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/alerting/rules.ts @@ -35,8 +35,7 @@ export default function ({ getService }: FtrProviderContext) { const esClient = getService('es'); const esDeleteAllIndices = getService('esDeleteAllIndices'); - // Failing: See https://github.com/elastic/kibana/issues/164017 - describe.skip('Alerting rules', () => { + describe('Alerting rules', () => { const RULE_TYPE_ID = '.es-query'; const ALERT_ACTION_INDEX = 'alert-action-es-query'; let actionId: string; @@ -119,22 +118,6 @@ export default function ({ getService }: FtrProviderContext) { }); expect(resp.hits.hits.length).to.be(1); - await waitForAllTasksIdle({ - esClient, - filter: testStart, - }); - - await disableRule({ - supertest, - ruleId, - }); - - await waitForDisabled({ - esClient, - ruleId, - filter: testStart, - }); - const document = resp.hits.hits[0]; expect(document._source).to.eql({ alertActionGroup: 'query matched', @@ -157,7 +140,7 @@ export default function ({ getService }: FtrProviderContext) { expect(eventLogResp.hits.hits.length).to.be(1); const eventLogDocument = eventLogResp.hits.hits[0]._source; - await validateEventLog(eventLogDocument, { + validateEventLog(eventLogDocument, { ruleId, ruleTypeId: RULE_TYPE_ID, outcome: 'success', @@ -928,7 +911,8 @@ function validateEventLog(event: any, params: ValidateEventLogParams) { expect(event?.kibana?.alert?.rule?.execution?.metrics?.number_of_triggered_actions).to.be(1); expect(event?.kibana?.alert?.rule?.execution?.metrics?.number_of_searches).to.be(1); - expect(event?.kibana?.alert?.rule?.execution?.metrics?.es_search_duration_ms).to.be(0); + // Sometimes fast enough that it will report 0ms + expect(event?.kibana?.alert?.rule?.execution?.metrics?.es_search_duration_ms >= 0).to.be.ok(); expect( event?.kibana?.alert?.rule?.execution?.metrics?.total_search_duration_ms ).to.be.greaterThan(0); From 9578950404608b8ffec8c0d856f91f2d6ac0186f Mon Sep 17 00:00:00 2001 From: Konrad Szwarc Date: Thu, 14 Sep 2023 16:32:02 +0200 Subject: [PATCH 035/149] [Fleet][Kafka] Headers and topics changes trigger hasChanged (#166062) https://github.com/elastic/kibana/issues/165976 Proper onChange function for headers and topics fields that now correctly triggers `hasChanged` property resulting in activating `Save` button as soon as any change is made. https://github.com/elastic/kibana/assets/29123534/935aee94-d4c3-424e-9481-32103eeb5b04 --- .../output_form_kafka_headers.tsx | 11 ++++-- .../output_form_kafka_topics.tsx | 34 +++++++++++++------ 2 files changed, 32 insertions(+), 13 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_headers.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_headers.tsx index 89ff4b5d0de7a..9687b81be5698 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_headers.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_headers.tsx @@ -38,8 +38,15 @@ export const OutputFormKafkaHeaders: React.FunctionComponent<{ inputs: OutputFor const handleKeyValuePairChange = useCallback( (index: number, field: 'key' | 'value', value: string) => { - const updatedPairs = [...keyValuePairs]; - updatedPairs[index][field] = value; + const updatedPairs = keyValuePairs.map((pair, i) => { + if (i === index) { + return { + ...pair, + [field]: value, + }; + } + return pair; + }); onChange(updatedPairs); }, [keyValuePairs, onChange] diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_topics.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_topics.tsx index 55b76ccf84c57..9360a5c35bcd5 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_topics.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/settings/components/edit_output_flyout/output_form_kafka_topics.tsx @@ -94,17 +94,29 @@ export const OutputFormKafkaTopics: React.FunctionComponent<{ inputs: OutputForm const handleTopicProcessorChange = useCallback( (index: number, field: 'topic' | 'condition' | 'type', value: string) => { - const updatedPairs = [...topics]; - if (field === 'topic') { - updatedPairs[index].topic = value; - } else { - updatedPairs[index].when = { - ...(updatedPairs[index].when || {}), - ...((field === 'condition' ? { condition: value } : {}) as { condition?: string }), - ...((field === 'type' ? { type: value } : {}) as { type?: ValueOf }), - }; - } - onChange(updatedPairs); + const updatedTopics = topics.map((topic, i) => { + if (i === index) { + if (field === 'topic') { + return { + ...topic, + topic: value, + }; + } else { + return { + ...topic, + when: { + ...(topic.when || {}), + ...((field === 'condition' ? { condition: value } : {}) as { condition?: string }), + ...((field === 'type' ? { type: value } : {}) as { + type?: ValueOf; + }), + }, + }; + } + } + return topic; + }); + onChange(updatedTopics); }, [topics, onChange] ); From 5bd152369bc1d34fb599938afe6752ec3c703eb3 Mon Sep 17 00:00:00 2001 From: Sergi Massaneda Date: Thu, 14 Sep 2023 16:55:27 +0200 Subject: [PATCH 036/149] [Security Solution] Serverless pages icon updates (#166379) ## Summary Security issue: https://github.com/elastic/security-team/issues/7509 Updates the icons in the `Machine Learning` and `Project settings` landing pages according to the designs ### Screenshots ![ml_landing](https://github.com/elastic/kibana/assets/17747913/f8ceaa93-7cc3-4437-bc93-fd2dafb1d68e) ![project_settings_landing](https://github.com/elastic/kibana/assets/17747913/8dd30108-87f5-49b8-aac5-e884c3bdfdd6) --- .../public/common/icons/auditbeat.tsx | 29 -------- .../public/common/icons/chart_arrow.tsx | 58 +++++++++++++++ .../public/common/icons/dashboard.tsx | 58 +++++++++++++++ .../public/common/icons/data_connector.tsx | 36 --------- .../public/common/icons/data_view.tsx | 52 +++++++++++++ .../public/common/icons/dev_tools.tsx | 45 ------------ .../public/common/icons/filebeat.tsx | 32 ++++++++ .../public/common/icons/filebeat_chart.tsx | 42 +++++++++++ .../public/common/icons/graph.tsx | 46 ------------ .../public/common/icons/infra.tsx | 44 +++++++++++ .../public/common/icons/intuitive.tsx | 64 ++++++++++++++++ .../public/common/icons/jobs.tsx | 67 +++++++++++++++++ .../public/common/icons/keyword.tsx | 34 +++++++++ .../public/common/icons/logging.tsx | 31 -------- .../public/common/icons/manager.tsx | 61 ++++++++++++++++ .../public/common/icons/marketing.tsx | 49 +++++++++++++ .../icons/product_features_alerting.tsx | 59 --------------- .../public/common/icons/rapid_bar_graph.tsx | 46 ++++++++++++ .../public/common/icons/replication.tsx | 55 ++++++++++++++ .../public/common/icons/reporting.tsx | 37 ++++++++++ .../common/icons/searchable_snapshots.tsx | 73 ------------------- .../public/common/icons/security_shield.tsx | 42 ----------- .../public/common/icons/settings.tsx | 41 +++++++++++ .../public/common/icons/siem.tsx | 46 ------------ .../public/common/icons/spaces.tsx | 56 -------------- .../public/common/icons/users_roles.tsx | 57 +++++++++++++++ .../public/common/icons/visualization.tsx | 39 ++++++++++ .../public/common/lazy_icons.tsx | 40 ++++++---- .../public/navigation/links/constants.ts | 1 + .../navigation/links/sections/ml_links.ts | 71 ++++++++++-------- .../links/sections/ml_translations.ts | 18 ++++- .../links/sections/project_settings_links.ts | 43 +++++------ 32 files changed, 937 insertions(+), 535 deletions(-) delete mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/auditbeat.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/chart_arrow.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/dashboard.tsx delete mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/data_connector.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/data_view.tsx delete mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/dev_tools.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/filebeat.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/filebeat_chart.tsx delete mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/graph.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/infra.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/intuitive.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/jobs.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/keyword.tsx delete mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/logging.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/manager.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/marketing.tsx delete mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/product_features_alerting.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/rapid_bar_graph.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/replication.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/reporting.tsx delete mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/searchable_snapshots.tsx delete mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/security_shield.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/settings.tsx delete mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/siem.tsx delete mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/spaces.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/users_roles.tsx create mode 100644 x-pack/plugins/security_solution_serverless/public/common/icons/visualization.tsx diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/auditbeat.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/auditbeat.tsx deleted file mode 100644 index a8ee074b135dd..0000000000000 --- a/x-pack/plugins/security_solution_serverless/public/common/icons/auditbeat.tsx +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { SVGProps } from 'react'; -import React from 'react'; -export const IconAuditbeat: React.FC> = ({ ...props }) => ( - - - - - - - - - -); - -// eslint-disable-next-line import/no-default-export -export default IconAuditbeat; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/chart_arrow.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/chart_arrow.tsx new file mode 100644 index 0000000000000..a47515435fa86 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/chart_arrow.tsx @@ -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 type { SVGProps } from 'react'; +import React from 'react'; +export const IconChartArrow: React.FC> = (props) => ( + + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconChartArrow; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/dashboard.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/dashboard.tsx new file mode 100644 index 0000000000000..5ca7002cfaba0 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/dashboard.tsx @@ -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 type { SVGProps } from 'react'; +import React from 'react'; +export const IconDashboard: React.FC> = ({ ...props }) => ( + + + + + + + + + + + + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconDashboard; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/data_connector.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/data_connector.tsx deleted file mode 100644 index 26a4ca9ea24c9..0000000000000 --- a/x-pack/plugins/security_solution_serverless/public/common/icons/data_connector.tsx +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { SVGProps } from 'react'; -import React from 'react'; -export const IconDataConnector: React.FC> = ({ ...props }) => ( - - - - - - -); - -// eslint-disable-next-line import/no-default-export -export default IconDataConnector; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/data_view.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/data_view.tsx new file mode 100644 index 0000000000000..85461e05bd66d --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/data_view.tsx @@ -0,0 +1,52 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { SVGProps } from 'react'; +import React from 'react'; +export const IconDataView: React.FC> = ({ ...props }) => ( + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconDataView; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/dev_tools.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/dev_tools.tsx deleted file mode 100644 index 49f2c129e4a79..0000000000000 --- a/x-pack/plugins/security_solution_serverless/public/common/icons/dev_tools.tsx +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { SVGProps } from 'react'; -import React from 'react'; -export const IconDevTools: React.FC> = ({ ...props }) => ( - - - - - - - - - - - - - -); - -// eslint-disable-next-line import/no-default-export -export default IconDevTools; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/filebeat.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/filebeat.tsx new file mode 100644 index 0000000000000..0859cdb3329ab --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/filebeat.tsx @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { SVGProps } from 'react'; +import React from 'react'; +export const IconFilebeat: React.FC> = ({ ...props }) => ( + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconFilebeat; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/filebeat_chart.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/filebeat_chart.tsx new file mode 100644 index 0000000000000..df3243ba8d043 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/filebeat_chart.tsx @@ -0,0 +1,42 @@ +/* + * 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 { SVGProps } from 'react'; +import React from 'react'; +export const IconFilebeatChart: React.FC> = ({ ...props }) => ( + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconFilebeatChart; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/graph.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/graph.tsx deleted file mode 100644 index 9223de9461975..0000000000000 --- a/x-pack/plugins/security_solution_serverless/public/common/icons/graph.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { SVGProps } from 'react'; -import React from 'react'; -export const IconGraph: React.FC> = ({ ...props }) => ( - - - - - - -); - -// eslint-disable-next-line import/no-default-export -export default IconGraph; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/infra.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/infra.tsx new file mode 100644 index 0000000000000..5e4e1070d5f9e --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/infra.tsx @@ -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 type { SVGProps } from 'react'; +import React from 'react'; +export const IconInfra: React.FC> = (props) => ( + + + + + + + + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconInfra; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/intuitive.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/intuitive.tsx new file mode 100644 index 0000000000000..cacf9dc7be11f --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/intuitive.tsx @@ -0,0 +1,64 @@ +/* + * 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 { SVGProps } from 'react'; +import React from 'react'; +export const IconIntuitive: React.FC> = ({ ...props }) => ( + + + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconIntuitive; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/jobs.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/jobs.tsx new file mode 100644 index 0000000000000..a6eb6c20d446a --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/jobs.tsx @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { SVGProps } from 'react'; +import React from 'react'; +export const IconJobs: React.FC> = (props) => ( + + + + + + + + + + + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconJobs; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/keyword.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/keyword.tsx new file mode 100644 index 0000000000000..f25d5c4d9b3f8 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/keyword.tsx @@ -0,0 +1,34 @@ +/* + * 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 { SVGProps } from 'react'; +import React from 'react'; +export const IconKeyword: React.FC> = (props) => ( + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconKeyword; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/logging.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/logging.tsx deleted file mode 100644 index baab149c29412..0000000000000 --- a/x-pack/plugins/security_solution_serverless/public/common/icons/logging.tsx +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { SVGProps } from 'react'; -import React from 'react'; -export const IconLogging: React.FC> = ({ ...props }) => ( - - - - - - -); - -// eslint-disable-next-line import/no-default-export -export default IconLogging; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/manager.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/manager.tsx new file mode 100644 index 0000000000000..e5646c378b7a6 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/manager.tsx @@ -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 type { SVGProps } from 'react'; +import React from 'react'; +export const IconManager: React.FC> = (props) => ( + + + + + + + + + + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconManager; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/marketing.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/marketing.tsx new file mode 100644 index 0000000000000..6161e492b0edb --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/marketing.tsx @@ -0,0 +1,49 @@ +/* + * 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 { SVGProps } from 'react'; +import React from 'react'; +export const IconMarketing: React.FC> = (props) => ( + + + + + + + + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconMarketing; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/product_features_alerting.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/product_features_alerting.tsx deleted file mode 100644 index f856b7a7494f4..0000000000000 --- a/x-pack/plugins/security_solution_serverless/public/common/icons/product_features_alerting.tsx +++ /dev/null @@ -1,59 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { SVGProps } from 'react'; -import React from 'react'; -export const IconProductFeaturesAlerting: React.FC> = ({ ...props }) => ( - - - - - - - - - - - - - - -); - -// eslint-disable-next-line import/no-default-export -export default IconProductFeaturesAlerting; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/rapid_bar_graph.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/rapid_bar_graph.tsx new file mode 100644 index 0000000000000..3303b13e8183e --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/rapid_bar_graph.tsx @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { SVGProps } from 'react'; +import React from 'react'; +export const IconRapidBarGraph: React.FC> = (props) => ( + + + + + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconRapidBarGraph; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/replication.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/replication.tsx new file mode 100644 index 0000000000000..18b4cf73d2adf --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/replication.tsx @@ -0,0 +1,55 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { SVGProps } from 'react'; +import React from 'react'; +export const IconReplication: React.FC> = ({ ...props }) => ( + + + + + + + + + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconReplication; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/reporting.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/reporting.tsx new file mode 100644 index 0000000000000..ba783401ef7e5 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/reporting.tsx @@ -0,0 +1,37 @@ +/* + * 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 { SVGProps } from 'react'; +import React from 'react'; +export const IconReporting: React.FC> = ({ ...props }) => ( + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconReporting; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/searchable_snapshots.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/searchable_snapshots.tsx deleted file mode 100644 index 9b199309fdee9..0000000000000 --- a/x-pack/plugins/security_solution_serverless/public/common/icons/searchable_snapshots.tsx +++ /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 type { SVGProps } from 'react'; -import React from 'react'; -export const IconSearchableSnapshots: React.FC> = ({ ...props }) => ( - - - - - - - - - - - -); - -// eslint-disable-next-line import/no-default-export -export default IconSearchableSnapshots; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/security_shield.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/security_shield.tsx deleted file mode 100644 index 355718d77d1a0..0000000000000 --- a/x-pack/plugins/security_solution_serverless/public/common/icons/security_shield.tsx +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { SVGProps } from 'react'; -import React from 'react'; -export const IconSecurityShield: React.FC> = ({ ...props }) => ( - - - - - - - -); - -// eslint-disable-next-line import/no-default-export -export default IconSecurityShield; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/settings.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/settings.tsx new file mode 100644 index 0000000000000..dbf362deea340 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/settings.tsx @@ -0,0 +1,41 @@ +/* + * 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 { SVGProps } from 'react'; +import React from 'react'; +export const IconSettings: React.FC> = ({ ...props }) => ( + + + + + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconSettings; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/siem.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/siem.tsx deleted file mode 100644 index 00b775af8fa36..0000000000000 --- a/x-pack/plugins/security_solution_serverless/public/common/icons/siem.tsx +++ /dev/null @@ -1,46 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { SVGProps } from 'react'; -import React from 'react'; -export const IconSiem: React.FC> = ({ ...props }) => ( - - - - - - - - - - - - -); - -// eslint-disable-next-line import/no-default-export -export default IconSiem; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/spaces.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/spaces.tsx deleted file mode 100644 index 1a5e6300b1b9f..0000000000000 --- a/x-pack/plugins/security_solution_serverless/public/common/icons/spaces.tsx +++ /dev/null @@ -1,56 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import type { SVGProps } from 'react'; -import React from 'react'; -export const IconSpaces: React.FC> = ({ ...props }) => ( - - - - - - - - - - - - -); - -// eslint-disable-next-line import/no-default-export -export default IconSpaces; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/users_roles.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/users_roles.tsx new file mode 100644 index 0000000000000..3eb961f783f67 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/users_roles.tsx @@ -0,0 +1,57 @@ +/* + * 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 { SVGProps } from 'react'; +import React from 'react'; +export const IconUsersRoles: React.FC> = ({ ...props }) => ( + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconUsersRoles; diff --git a/x-pack/plugins/security_solution_serverless/public/common/icons/visualization.tsx b/x-pack/plugins/security_solution_serverless/public/common/icons/visualization.tsx new file mode 100644 index 0000000000000..983dcec736015 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/public/common/icons/visualization.tsx @@ -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 type { SVGProps } from 'react'; +import React from 'react'; +export const IconVisualization: React.FC> = ({ ...props }) => ( + + + + + + + +); + +// eslint-disable-next-line import/no-default-export +export default IconVisualization; diff --git a/x-pack/plugins/security_solution_serverless/public/common/lazy_icons.tsx b/x-pack/plugins/security_solution_serverless/public/common/lazy_icons.tsx index 2143eee79ebe9..f7e016d75c969 100644 --- a/x-pack/plugins/security_solution_serverless/public/common/lazy_icons.tsx +++ b/x-pack/plugins/security_solution_serverless/public/common/lazy_icons.tsx @@ -19,28 +19,38 @@ const withSuspenseIcon = (Component: React.ComponentType< export const IconLensLazy = withSuspenseIcon(React.lazy(() => import('./icons/lens'))); export const IconEndpointLazy = withSuspenseIcon(React.lazy(() => import('./icons/endpoint'))); -export const IconDataConnectorLazy = withSuspenseIcon( - React.lazy(() => import('./icons/data_connector')) -); export const IconIndexManagementLazy = withSuspenseIcon( React.lazy(() => import('./icons/index_management')) ); -export const IconSpacesLazy = withSuspenseIcon(React.lazy(() => import('./icons/spaces'))); -export const IconDevToolsLazy = withSuspenseIcon(React.lazy(() => import('./icons/dev_tools'))); export const IconFleetLazy = withSuspenseIcon(React.lazy(() => import('./icons/fleet'))); -export const IconAuditbeatLazy = withSuspenseIcon(React.lazy(() => import('./icons/auditbeat'))); -export const IconSiemLazy = withSuspenseIcon(React.lazy(() => import('./icons/siem'))); export const IconEcctlLazy = withSuspenseIcon(React.lazy(() => import('./icons/ecctl'))); -export const IconGraphLazy = withSuspenseIcon(React.lazy(() => import('./icons/graph'))); -export const IconLoggingLazy = withSuspenseIcon(React.lazy(() => import('./icons/logging'))); export const IconMapServicesLazy = withSuspenseIcon( React.lazy(() => import('./icons/map_services')) ); -export const IconSecurityShieldLazy = withSuspenseIcon( - React.lazy(() => import('./icons/security_shield')) -); -export const IconProductFeaturesAlertingLazy = withSuspenseIcon( - React.lazy(() => import('./icons/product_features_alerting')) -); export const IconTimelineLazy = withSuspenseIcon(React.lazy(() => import('./icons/timeline'))); export const IconOsqueryLazy = withSuspenseIcon(React.lazy(() => import('./icons/osquery'))); +export const IconUsersRolesLazy = withSuspenseIcon(React.lazy(() => import('./icons/users_roles'))); +export const IconReportingLazy = withSuspenseIcon(React.lazy(() => import('./icons/reporting'))); +export const IconVisualizationLazy = withSuspenseIcon( + React.lazy(() => import('./icons/visualization')) +); +export const IconMarketingLazy = withSuspenseIcon(React.lazy(() => import('./icons/marketing'))); +export const IconInfraLazy = withSuspenseIcon(React.lazy(() => import('./icons/infra'))); +export const IconKeywordLazy = withSuspenseIcon(React.lazy(() => import('./icons/keyword'))); +export const IconJobsLazy = withSuspenseIcon(React.lazy(() => import('./icons/jobs'))); +export const IconSettingsLazy = withSuspenseIcon(React.lazy(() => import('./icons/settings'))); +export const IconDashboardLazy = withSuspenseIcon(React.lazy(() => import('./icons/dashboard'))); +export const IconChartArrowLazy = withSuspenseIcon(React.lazy(() => import('./icons/chart_arrow'))); +export const IconManagerLazy = withSuspenseIcon(React.lazy(() => import('./icons/manager'))); +export const IconFilebeatLazy = withSuspenseIcon(React.lazy(() => import('./icons/filebeat'))); +export const IconDataViewLazy = withSuspenseIcon(React.lazy(() => import('./icons/data_view'))); +export const IconReplicationLazy = withSuspenseIcon( + React.lazy(() => import('./icons/replication')) +); +export const IconIntuitiveLazy = withSuspenseIcon(React.lazy(() => import('./icons/intuitive'))); +export const IconRapidBarGraphLazy = withSuspenseIcon( + React.lazy(() => import('./icons/rapid_bar_graph')) +); +export const IconFilebeatChartLazy = withSuspenseIcon( + React.lazy(() => import('./icons/filebeat_chart')) +); diff --git a/x-pack/plugins/security_solution_serverless/public/navigation/links/constants.ts b/x-pack/plugins/security_solution_serverless/public/navigation/links/constants.ts index 479323f5688c5..520cbdd192ae4 100644 --- a/x-pack/plugins/security_solution_serverless/public/navigation/links/constants.ts +++ b/x-pack/plugins/security_solution_serverless/public/navigation/links/constants.ts @@ -39,6 +39,7 @@ export enum ExternalPageName { // Ref: packages/default-nav/ml/default_navigation.ts mlOverview = 'ml:overview', mlNotifications = 'ml:notifications', + mlMemoryUsage = 'ml:memoryUsage', mlAnomalyDetection = 'ml:anomalyDetection', mlAnomalyExplorer = 'ml:anomalyExplorer', mlSingleMetricViewer = 'ml:singleMetricViewer', diff --git a/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/ml_links.ts b/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/ml_links.ts index bdd0f739e3e7c..32c7587097616 100644 --- a/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/ml_links.ts +++ b/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/ml_links.ts @@ -13,14 +13,21 @@ import type { ProjectLinkCategory, ProjectNavigationLink } from '../types'; import * as i18n from './ml_translations'; import { IconLensLazy, - IconEndpointLazy, - IconSpacesLazy, - IconIndexManagementLazy, - IconDataConnectorLazy, - IconDevToolsLazy, - IconFleetLazy, - IconAuditbeatLazy, - IconSiemLazy, + IconMarketingLazy, + IconInfraLazy, + IconFilebeatChartLazy, + IconJobsLazy, + IconKeywordLazy, + IconDashboardLazy, + IconVisualizationLazy, + IconSettingsLazy, + IconChartArrowLazy, + IconManagerLazy, + IconFilebeatLazy, + IconReplicationLazy, + IconDataViewLazy, + IconIntuitiveLazy, + IconRapidBarGraphLazy, } from '../../../common/lazy_icons'; // appLinks configures the Security Solution pages links @@ -38,7 +45,11 @@ export const mlAppLink: LinkItem = { export const mlNavCategories: ProjectLinkCategory[] = [ { type: LinkCategoryType.separator, - linkIds: [ExternalPageName.mlOverview, ExternalPageName.mlNotifications], + linkIds: [ + ExternalPageName.mlOverview, + ExternalPageName.mlNotifications, + ExternalPageName.mlMemoryUsage, + ], }, { type: LinkCategoryType.title, @@ -95,97 +106,97 @@ export const mlNavLinks: ProjectNavigationLink[] = [ { id: ExternalPageName.mlNotifications, title: i18n.NOTIFICATIONS_TITLE, - landingIcon: IconEndpointLazy, + landingIcon: IconMarketingLazy, description: i18n.NOTIFICATIONS_DESC, }, + { + id: ExternalPageName.mlMemoryUsage, + title: i18n.MEMORY_USAGE_TITLE, + landingIcon: IconInfraLazy, + description: i18n.MEMORY_USAGE_DESC, + }, { id: ExternalPageName.mlAnomalyDetection, title: i18n.ANOMALY_DETECTION_TITLE, - landingIcon: IconSpacesLazy, + landingIcon: IconJobsLazy, description: i18n.ANOMALY_DETECTION_DESC, }, { id: ExternalPageName.mlAnomalyExplorer, title: i18n.ANOMALY_EXPLORER_TITLE, - landingIcon: IconIndexManagementLazy, + landingIcon: IconKeywordLazy, description: i18n.ANOMALY_EXPLORER_DESC, }, { id: ExternalPageName.mlSingleMetricViewer, title: i18n.SINGLE_METRIC_VIEWER_TITLE, - landingIcon: IconDataConnectorLazy, + landingIcon: IconVisualizationLazy, description: i18n.SINGLE_METRIC_VIEWER_DESC, }, { id: ExternalPageName.mlSettings, title: i18n.SETTINGS_TITLE, - landingIcon: IconDevToolsLazy, + landingIcon: IconSettingsLazy, description: i18n.SETTINGS_DESC, }, { id: ExternalPageName.mlDataFrameAnalytics, title: i18n.DATA_FRAME_ANALYTICS_TITLE, - landingIcon: IconIndexManagementLazy, + landingIcon: IconJobsLazy, description: i18n.DATA_FRAME_ANALYTICS_DESC, }, { id: ExternalPageName.mlResultExplorer, title: i18n.RESULT_EXPLORER_TITLE, - landingIcon: IconFleetLazy, + landingIcon: IconDashboardLazy, description: i18n.RESULT_EXPLORER_DESC, }, { id: ExternalPageName.mlAnalyticsMap, title: i18n.ANALYTICS_MAP_TITLE, - landingIcon: IconAuditbeatLazy, + landingIcon: IconChartArrowLazy, description: i18n.ANALYTICS_MAP_DESC, }, { id: ExternalPageName.mlNodesOverview, title: i18n.NODES_OVERVIEW_TITLE, - landingIcon: IconSiemLazy, + landingIcon: IconManagerLazy, description: i18n.NODES_OVERVIEW_DESC, }, - { - id: ExternalPageName.mlNodes, - title: i18n.NODES_TITLE, - landingIcon: IconEndpointLazy, - description: i18n.NODES_DESC, - }, { id: ExternalPageName.mlFileUpload, title: i18n.FILE_UPLOAD_TITLE, - landingIcon: IconEndpointLazy, + landingIcon: IconFilebeatLazy, description: i18n.FILE_UPLOAD_DESC, }, { id: ExternalPageName.mlIndexDataVisualizer, title: i18n.INDEX_DATA_VISUALIZER_TITLE, - landingIcon: IconEndpointLazy, + landingIcon: IconDataViewLazy, description: i18n.INDEX_DATA_VISUALIZER_DESC, }, { id: ExternalPageName.mlDataComparison, title: i18n.DATA_COMPARISON_TITLE, - landingIcon: IconEndpointLazy, + landingIcon: IconRapidBarGraphLazy, description: i18n.DATA_COMPARISON_DESC, }, { id: ExternalPageName.mlExplainLogRateSpikes, title: i18n.LOG_RATE_ANALYSIS_TITLE, - landingIcon: IconEndpointLazy, + landingIcon: IconFilebeatChartLazy, description: i18n.LOG_RATE_ANALYSIS_DESC, }, { id: ExternalPageName.mlLogPatternAnalysis, title: i18n.LOG_PATTERN_ANALYSIS_TITLE, - landingIcon: IconEndpointLazy, + landingIcon: IconReplicationLazy, description: i18n.LOG_PATTERN_ANALYSIS_DESC, }, { id: ExternalPageName.mlChangePointDetections, title: i18n.CHANGE_POINT_DETECTIONS_TITLE, - landingIcon: IconEndpointLazy, + landingIcon: IconIntuitiveLazy, description: i18n.CHANGE_POINT_DETECTIONS_DESC, }, ]; diff --git a/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/ml_translations.ts b/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/ml_translations.ts index 500fcdd9da427..36a28d561bda5 100644 --- a/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/ml_translations.ts +++ b/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/ml_translations.ts @@ -69,6 +69,18 @@ export const NOTIFICATIONS_DESC = i18n.translate( defaultMessage: 'Notifications page', } ); +export const MEMORY_USAGE_TITLE = i18n.translate( + 'xpack.securitySolutionServerless.navLinks.ml.memoryUsage.title', + { + defaultMessage: 'Memory usage', + } +); +export const MEMORY_USAGE_DESC = i18n.translate( + 'xpack.securitySolutionServerless.navLinks.ml.memoryUsage.desc', + { + defaultMessage: 'Memory usage page', + } +); export const ANOMALY_DETECTION_TITLE = i18n.translate( 'xpack.securitySolutionServerless.navLinks.ml.anomalyDetection.title', { @@ -90,7 +102,7 @@ export const ANOMALY_EXPLORER_TITLE = i18n.translate( export const ANOMALY_EXPLORER_DESC = i18n.translate( 'xpack.securitySolutionServerless.navLinks.ml.anomalyExplorer.desc', { - defaultMessage: 'Anomaly explorer Page', + defaultMessage: 'Anomaly explorer page', } ); export const SINGLE_METRIC_VIEWER_TITLE = i18n.translate( @@ -156,13 +168,13 @@ export const ANALYTICS_MAP_DESC = i18n.translate( export const NODES_OVERVIEW_TITLE = i18n.translate( 'xpack.securitySolutionServerless.navLinks.ml.nodesOverview.title', { - defaultMessage: 'Model Management', + defaultMessage: 'Trained models', } ); export const NODES_OVERVIEW_DESC = i18n.translate( 'xpack.securitySolutionServerless.navLinks.ml.nodesOverview.desc', { - defaultMessage: 'Model Management page', + defaultMessage: 'Trained models page', } ); export const NODES_TITLE = i18n.translate( diff --git a/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/project_settings_links.ts b/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/project_settings_links.ts index 643ec2e905298..69e560a929c09 100644 --- a/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/project_settings_links.ts +++ b/x-pack/plugins/security_solution_serverless/public/navigation/links/sections/project_settings_links.ts @@ -11,12 +11,11 @@ import type { LinkItem } from '@kbn/security-solution-plugin/public'; import { ExternalPageName, SecurityPagePath } from '../constants'; import type { ProjectLinkCategory, ProjectNavigationLink } from '../types'; import { - IconGraphLazy, - IconLoggingLazy, - IconIndexManagementLazy, - IconSecurityShieldLazy, IconMapServicesLazy, - IconProductFeaturesAlertingLazy, + IconIndexManagementLazy, + IconUsersRolesLazy, + IconReportingLazy, + IconVisualizationLazy, } from '../../../common/lazy_icons'; import * as i18n from './project_settings_translations'; @@ -43,7 +42,7 @@ export const createProjectSettingsLinkFromManage = (manageLink: LinkItem): LinkI return { ...projectSettingsAppLink, - links: projectSettingsSubLinks, // cloudDefend and endpoints links are added in the projectAppLinksSwitcher on runtime + links: projectSettingsSubLinks, }; }; @@ -70,7 +69,6 @@ export const projectSettingsNavCategories: ProjectLinkCategory[] = [ categories: [ { label: i18n.DATA_CATEGORY_TITLE, - iconType: IconIndexManagementLazy, linkIds: [ ExternalPageName.managementIndexManagement, ExternalPageName.managementTransforms, @@ -82,7 +80,6 @@ export const projectSettingsNavCategories: ProjectLinkCategory[] = [ }, { label: i18n.ALERTS_INSIGHTS_CATEGORY_TITLE, - iconType: IconProductFeaturesAlertingLazy, linkIds: [ ExternalPageName.managementCases, ExternalPageName.managementTriggersActionsConnectors, @@ -91,7 +88,6 @@ export const projectSettingsNavCategories: ProjectLinkCategory[] = [ }, { label: i18n.CONTENT_CATEGORY_TITLE, - iconType: IconSecurityShieldLazy, linkIds: [ ExternalPageName.managementObjects, ExternalPageName.managementFiles, @@ -101,7 +97,6 @@ export const projectSettingsNavCategories: ProjectLinkCategory[] = [ }, { label: i18n.OTHER_CATEGORY_TITLE, - iconType: IconMapServicesLazy, linkIds: [ExternalPageName.managementApiKeys, ExternalPageName.managementSettings], }, ], @@ -114,13 +109,13 @@ export const projectSettingsNavLinks: ProjectNavigationLink[] = [ id: ExternalPageName.cloudUsersAndRoles, title: i18n.CLOUD_USERS_ROLES_TITLE, description: i18n.CLOUD_USERS_ROLES_DESCRIPTION, - landingIcon: IconGraphLazy, + landingIcon: IconUsersRolesLazy, }, { id: ExternalPageName.cloudBilling, title: i18n.CLOUD_BILLING_TITLE, description: i18n.CLOUD_BILLING_DESCRIPTION, - landingIcon: IconLoggingLazy, + landingIcon: IconReportingLazy, }, { id: ExternalPageName.integrationsSecurity, @@ -128,6 +123,18 @@ export const projectSettingsNavLinks: ProjectNavigationLink[] = [ description: i18n.INTEGRATIONS_DESCRIPTION, landingIcon: IconIndexManagementLazy, }, + { + id: ExternalPageName.maps, + title: i18n.MAPS_TITLE, + description: i18n.MAPS_DESCRIPTION, + landingIcon: IconMapServicesLazy, + }, + { + id: ExternalPageName.visualize, + title: i18n.VISUALIZE_TITLE, + description: i18n.VISUALIZE_DESCRIPTION, + landingIcon: IconVisualizationLazy, + }, { id: ExternalPageName.managementIndexManagement, title: i18n.MANAGEMENT_INDEX_MANAGEMENT_TITLE, @@ -188,16 +195,4 @@ export const projectSettingsNavLinks: ProjectNavigationLink[] = [ id: ExternalPageName.managementSettings, title: i18n.MANAGEMENT_SETTINGS_TITLE, }, - { - id: ExternalPageName.maps, - title: i18n.MAPS_TITLE, - description: i18n.MAPS_DESCRIPTION, - landingIcon: IconGraphLazy, - }, - { - id: ExternalPageName.visualize, - title: i18n.VISUALIZE_TITLE, - description: i18n.VISUALIZE_DESCRIPTION, - landingIcon: IconGraphLazy, - }, ]; From f3b280f6ee30f89495528ea57d822f0085222aac Mon Sep 17 00:00:00 2001 From: Nathan Reese Date: Thu, 14 Sep 2023 08:55:53 -0600 Subject: [PATCH 037/149] refactor search source warnings to return a single warning for 'is_partial' results (#165512) Closes https://github.com/elastic/kibana/issues/164905 This PR replaces individual shard failure and timeout warnings with a single "incomplete data" warning. This work is required for https://github.com/elastic/kibana/issues/163381 Screen Shot 2023-09-06 at 9 35 52 AM Screen Shot 2023-09-06 at 9 36 00 AM Screen Shot 2023-09-06 at 9 36 07 AM ### Test instructions * Install flights and web logs sample data * Create data view kibana_sample_data*. **Set time field to timestamp** * open discover and select kibana_sample_data* data view * Add filter with custom DSL ``` { "error_query": { "indices": [ { "error_type": "exception", "message": "local shard failure message 123", "name": "kibana_sample_data_logs", "shard_ids": [ 0 ] } ] } } ``` --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Julia Rechkunova Co-authored-by: Marco Liberati --- .../search_examples/public/search/app.tsx | 12 +- packages/kbn-es-types/index.ts | 1 + packages/kbn-es-types/src/index.ts | 9 +- packages/kbn-es-types/src/search.ts | 9 + .../kbn-search-response-warnings/index.ts | 6 +- .../src/__mocks__/search_response_warnings.ts | 66 ++-- .../search_response_warnings.test.tsx.snap | 348 +---------------- .../search_response_warnings.test.tsx | 12 +- .../search_response_warnings.tsx | 12 +- ...rch_response_intercepted_warnings.test.tsx | 205 +++------- ...t_search_response_intercepted_warnings.tsx | 42 +- ...ed_downsampled_aggregation_failure.test.ts | 80 ++++ ...pported_downsampled_aggregation_failure.ts | 26 ++ .../data/common/search/aggs/agg_type.ts | 2 +- .../buckets/_terms_other_bucket_helper.ts | 4 +- .../esaggs/request_handler.test.ts | 6 +- .../expressions/esaggs/request_handler.ts | 6 +- .../search/expressions/kibana_context_type.ts | 2 +- .../search/search_source/search_source.ts | 2 +- .../data/common/search/search_source/types.ts | 4 +- .../incomplete_results_modal.test.tsx.snap | 271 +++++++++++++ .../_incomplete_results_modal.scss} | 10 +- .../incomplete_results_modal.test.tsx | 72 ++++ .../incomplete_results_modal.tsx | 148 +++++++ .../index.tsx | 12 +- .../open_incomplete_results_modal_button.tsx} | 33 +- src/plugins/data/public/index.ts | 4 +- .../public/search/expressions/esaggs.test.ts | 2 +- .../data/public/search/expressions/esaggs.ts | 4 +- .../search/fetch/extract_warnings.test.ts | 369 +++++++++++++----- .../public/search/fetch/extract_warnings.ts | 74 ++-- .../search/fetch/handle_warnings.test.ts | 182 --------- .../public/search/fetch/handle_warnings.tsx | 90 ++--- src/plugins/data/public/search/index.ts | 1 + .../data/public/search/search_service.test.ts | 86 +--- .../data/public/search/search_service.ts | 2 +- src/plugins/data/public/search/types.ts | 55 +-- .../__mocks__/shard_failure_request.ts | 22 -- .../__mocks__/shard_failure_response.ts | 4 +- .../shard_failure_description.test.tsx.snap | 2 - .../shard_failure_modal.test.tsx.snap | 201 ---------- .../shard_failure_description.test.tsx | 4 +- .../shard_failure_description.tsx | 9 +- .../shard_failure_modal.test.tsx | 28 -- .../shard_failure_modal.tsx | 125 ------ ...d_failure_open_modal_button.test.mocks.tsx | 16 - .../shard_failure_open_modal_button.test.tsx | 35 -- .../shard_failure_table.test.tsx | 6 +- .../shard_failure_table.tsx | 6 +- .../shard_failure_types.ts | 33 -- .../server/search/expressions/esaggs.test.ts | 2 +- .../data/server/search/expressions/esaggs.ts | 2 +- src/plugins/data/tsconfig.json | 3 +- src/plugins/discover/common/constants.ts | 1 - .../application/context/context_app.tsx | 12 +- .../hooks/use_context_app_fetch.test.tsx | 24 +- .../context/services/anchor.test.ts | 18 +- .../application/context/services/anchor.ts | 6 +- .../services/context.successors.test.ts | 26 +- .../application/context/services/context.ts | 7 +- .../context/utils/fetch_hits_in_interval.ts | 6 +- .../hooks/use_saved_search_messages.test.ts | 12 +- .../application/main/utils/fetch_all.test.ts | 10 +- .../main/utils/fetch_documents.test.ts | 19 +- .../application/main/utils/fetch_documents.ts | 6 +- .../components/common/error_callout.tsx | 2 +- .../embeddable/saved_search_embeddable.tsx | 11 +- .../public/chart/hooks/use_total_hits.ts | 2 +- .../embeddable/visualize_embeddable.tsx | 15 +- src/plugins/visualizations/tsconfig.json | 3 +- test/examples/search/warnings.ts | 67 +--- .../datasources/form_based/form_based.tsx | 4 +- .../public/datasources/form_based/utils.tsx | 53 +-- .../workspace_panel/workspace_panel.tsx | 2 +- .../lens/public/embeddable/embeddable.tsx | 2 +- .../lens/public/state_management/selectors.ts | 2 +- x-pack/plugins/lens/public/utils.ts | 15 +- x-pack/plugins/lens/tsconfig.json | 1 + .../translations/translations/fr-FR.json | 9 - .../translations/translations/ja-JP.json | 9 - .../translations/translations/zh-CN.json | 9 - .../apps/discover/async_scripted_fields.js | 8 +- 82 files changed, 1232 insertions(+), 1896 deletions(-) create mode 100644 packages/kbn-search-response-warnings/src/utils/has_unsupported_downsampled_aggregation_failure.test.ts create mode 100644 packages/kbn-search-response-warnings/src/utils/has_unsupported_downsampled_aggregation_failure.ts create mode 100644 src/plugins/data/public/incomplete_results_modal/__snapshots__/incomplete_results_modal.test.tsx.snap rename src/plugins/data/public/{shard_failure_modal/_shard_failure_modal.scss => incomplete_results_modal/_incomplete_results_modal.scss} (59%) create mode 100644 src/plugins/data/public/incomplete_results_modal/incomplete_results_modal.test.tsx create mode 100644 src/plugins/data/public/incomplete_results_modal/incomplete_results_modal.tsx rename src/plugins/data/public/{shard_failure_modal => incomplete_results_modal}/index.tsx (54%) rename src/plugins/data/public/{shard_failure_modal/shard_failure_open_modal_button.tsx => incomplete_results_modal/open_incomplete_results_modal_button.tsx} (68%) delete mode 100644 src/plugins/data/public/search/fetch/handle_warnings.test.ts delete mode 100644 src/plugins/data/public/shard_failure_modal/__mocks__/shard_failure_request.ts delete mode 100644 src/plugins/data/public/shard_failure_modal/__snapshots__/shard_failure_modal.test.tsx.snap delete mode 100644 src/plugins/data/public/shard_failure_modal/shard_failure_modal.test.tsx delete mode 100644 src/plugins/data/public/shard_failure_modal/shard_failure_modal.tsx delete mode 100644 src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.test.mocks.tsx delete mode 100644 src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.test.tsx delete mode 100644 src/plugins/data/public/shard_failure_modal/shard_failure_types.ts diff --git a/examples/search_examples/public/search/app.tsx b/examples/search_examples/public/search/app.tsx index 0fa13df35a4e9..84bc3e1cd79be 100644 --- a/examples/search_examples/public/search/app.tsx +++ b/examples/search_examples/public/search/app.tsx @@ -311,17 +311,15 @@ export const SearchExamplesApp = ({ const result = await lastValueFrom( searchSource.fetch$({ abortSignal: abortController.signal, - disableShardFailureWarning: !showWarningToastNotifications, + disableWarningToasts: !showWarningToastNotifications, inspector, }) ); setRawResponse(result.rawResponse); - /* Here is an example of using showWarnings on the search service, using an optional callback to - * intercept the warnings before notification warnings are shown. - * - * Suppressing the shard failure warning notification from appearing by default requires setting - * { disableShardFailureWarning: true } in the SearchSourceSearchOptions passed to $fetch + /* + * Set disableWarningToasts to true to disable warning toasts and customize warning display. + * Then use showWarnings to customize warning notification. */ if (showWarningToastNotifications) { setWarningContents([]); @@ -498,7 +496,7 @@ export const SearchExamplesApp = ({ {' '} {' '} {' '} {' '} diff --git a/packages/kbn-es-types/index.ts b/packages/kbn-es-types/index.ts index e97df4d4eaa11..cd2d0a5f2618e 100644 --- a/packages/kbn-es-types/index.ts +++ b/packages/kbn-es-types/index.ts @@ -18,4 +18,5 @@ export type { AggregationResultOfMap, ESFilter, MaybeReadonlyArray, + ClusterDetails, } from './src'; diff --git a/packages/kbn-es-types/src/index.ts b/packages/kbn-es-types/src/index.ts index a18d6b39410f8..f22e43fc7e705 100644 --- a/packages/kbn-es-types/src/index.ts +++ b/packages/kbn-es-types/src/index.ts @@ -11,6 +11,7 @@ import { AggregateOf as AggregationResultOf, AggregateOfMap as AggregationResultOfMap, SearchHit, + ClusterDetails, } from './search'; export type ESFilter = estypes.QueryDslQueryContainer; @@ -34,4 +35,10 @@ export type ESSearchResponse< TOptions extends { restTotalHitsAsInt: boolean } = { restTotalHitsAsInt: false } > = InferSearchResponseOf; -export type { InferSearchResponseOf, AggregationResultOf, AggregationResultOfMap, SearchHit }; +export type { + InferSearchResponseOf, + AggregationResultOf, + AggregationResultOfMap, + SearchHit, + ClusterDetails, +}; diff --git a/packages/kbn-es-types/src/search.ts b/packages/kbn-es-types/src/search.ts index 13ebc02b65aa6..502a7464e5351 100644 --- a/packages/kbn-es-types/src/search.ts +++ b/packages/kbn-es-types/src/search.ts @@ -644,3 +644,12 @@ export type InferSearchResponseOf< >; }; }; + +export interface ClusterDetails { + status: 'running' | 'successful' | 'partial' | 'skipped' | 'failed'; + indices: string; + took?: number; + timed_out: boolean; + _shards?: estypes.ShardStatistics; + failures?: estypes.ShardFailure[]; +} diff --git a/packages/kbn-search-response-warnings/index.ts b/packages/kbn-search-response-warnings/index.ts index 8ef18d86b9a92..d81b3510553e6 100644 --- a/packages/kbn-search-response-warnings/index.ts +++ b/packages/kbn-search-response-warnings/index.ts @@ -13,7 +13,5 @@ export { type SearchResponseWarningsProps, } from './src/components/search_response_warnings'; -export { - getSearchResponseInterceptedWarnings, - removeInterceptedWarningDuplicates, -} from './src/utils/get_search_response_intercepted_warnings'; +export { getSearchResponseInterceptedWarnings } from './src/utils/get_search_response_intercepted_warnings'; +export { hasUnsupportedDownsampledAggregationFailure } from './src/utils/has_unsupported_downsampled_aggregation_failure'; diff --git a/packages/kbn-search-response-warnings/src/__mocks__/search_response_warnings.ts b/packages/kbn-search-response-warnings/src/__mocks__/search_response_warnings.ts index 9fe2cf02a1671..d4110f1bb62b7 100644 --- a/packages/kbn-search-response-warnings/src/__mocks__/search_response_warnings.ts +++ b/packages/kbn-search-response-warnings/src/__mocks__/search_response_warnings.ts @@ -8,43 +8,33 @@ import type { SearchResponseWarning } from '@kbn/data-plugin/public'; -export const searchResponseTimeoutWarningMock: SearchResponseWarning = { - type: 'timed_out', - message: 'Data might be incomplete because your request timed out', - reason: undefined, -}; - -export const searchResponseShardFailureWarningMock: SearchResponseWarning = { - type: 'shard_failure', - message: '3 of 4 shards failed', - text: 'The data might be incomplete or wrong.', - reason: { - type: 'illegal_argument_exception', - reason: 'Field [__anonymous_] of type [boolean] does not support custom formats', - }, -}; - -export const searchResponseWarningsMock: SearchResponseWarning[] = [ - searchResponseTimeoutWarningMock, - searchResponseShardFailureWarningMock, - { - type: 'shard_failure', - message: '3 of 4 shards failed', - text: 'The data might be incomplete or wrong.', - reason: { - type: 'query_shard_exception', - reason: - 'failed to create query: [.ds-kibana_sample_data_logs-2023.07.11-000001][0] Testing shard failures!', - }, - }, - { - type: 'shard_failure', - message: '1 of 4 shards failed', - text: 'The data might be incomplete or wrong.', - reason: { - type: 'query_shard_exception', - reason: - 'failed to create query: [.ds-kibana_sample_data_logs-2023.07.11-000001][0] Testing shard failures!', +export const searchResponseIncompleteWarningLocalCluster: SearchResponseWarning = { + type: 'incomplete', + message: 'The data might be incomplete or wrong.', + clusters: { + '(local)': { + status: 'partial', + indices: '', + took: 25, + timed_out: false, + _shards: { + total: 4, + successful: 3, + skipped: 0, + failed: 1, + }, + failures: [ + { + shard: 0, + index: 'sample-01-rollup', + node: 'VFTFJxpHSdaoiGxJFLSExQ', + reason: { + type: 'illegal_argument_exception', + reason: + 'Field [kubernetes.container.memory.available.bytes] of type [aggregate_metric_double] is not supported for aggregation [percentiles]', + }, + }, + ], }, }, -]; +}; diff --git a/packages/kbn-search-response-warnings/src/components/search_response_warnings/__snapshots__/search_response_warnings.test.tsx.snap b/packages/kbn-search-response-warnings/src/components/search_response_warnings/__snapshots__/search_response_warnings.test.tsx.snap index 01f917a0e6dbc..079d3d9b90b06 100644 --- a/packages/kbn-search-response-warnings/src/components/search_response_warnings/__snapshots__/search_response_warnings.test.tsx.snap +++ b/packages/kbn-search-response-warnings/src/components/search_response_warnings/__snapshots__/search_response_warnings.test.tsx.snap @@ -13,7 +13,7 @@ exports[`SearchResponseWarnings renders "badge" correctly 1`] = ` @@ -68,84 +68,14 @@ exports[`SearchResponseWarnings renders "callout" correctly 1`] = ` class="euiText emotion-euiText-s" data-test-subj="test1_warningTitle" > - Data might be incomplete because your request timed out -
-
-

-
-
- -
- -

- - -

  • -
    -

    -

    -
    -
    -
    -
    -
    - - 3 of 4 shards failed - -
    -
    -
    -
    -

    - The data might be incomplete or wrong. -

    + The data might be incomplete or wrong.
    @@ -155,161 +85,7 @@ exports[`SearchResponseWarnings renders "callout" correctly 1`] = ` > -
    -
    -

    -

    -
  • -
  • -
    -

    -

    -
    -
    -
    -
    -
    - - 3 of 4 shards failed - -
    -
    -
    -
    -

    - The data might be incomplete or wrong. -

    -
    -
    -
    - -
    -
    -
    -
    - -
    -
    -

    -

    -
  • -
  • -
    -

    -

    -
    -
    -
    -
    -
    - - 1 of 4 shards failed - -
    -
    -
    -
    -

    - The data might be incomplete or wrong. -

    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
  • -
  • -
    -
    -
    - - 3 of 4 shards failed - -
    -
    -
    -
    -

    - The data might be incomplete or wrong. -

    -
    -
    -
    - -
    -
    -
  • -
  • -
    -
    -
    - - 3 of 4 shards failed - -
    -
    -
    -
    -

    - The data might be incomplete or wrong. -

    -
    -
    -
    - -
    -
    -
  • -
  • -
    -
    -
    - - 1 of 4 shards failed - -
    -
    -
    -
    -

    - The data might be incomplete or wrong. -

    + The data might be incomplete or wrong.
    diff --git a/packages/kbn-search-response-warnings/src/components/search_response_warnings/search_response_warnings.test.tsx b/packages/kbn-search-response-warnings/src/components/search_response_warnings/search_response_warnings.test.tsx index 6e3c1b1a0d08d..ca51bd8babee8 100644 --- a/packages/kbn-search-response-warnings/src/components/search_response_warnings/search_response_warnings.test.tsx +++ b/packages/kbn-search-response-warnings/src/components/search_response_warnings/search_response_warnings.test.tsx @@ -9,12 +9,14 @@ import React from 'react'; import { mountWithIntl } from '@kbn/test-jest-helpers'; import { SearchResponseWarnings } from './search_response_warnings'; -import { searchResponseWarningsMock } from '../../__mocks__/search_response_warnings'; +import { searchResponseIncompleteWarningLocalCluster } from '../../__mocks__/search_response_warnings'; -const interceptedWarnings = searchResponseWarningsMock.map((originalWarning, index) => ({ - originalWarning, - action: originalWarning.type === 'shard_failure' ? : undefined, -})); +const interceptedWarnings = [ + { + originalWarning: searchResponseIncompleteWarningLocalCluster, + action: , + }, +]; describe('SearchResponseWarnings', () => { it('renders "callout" correctly', () => { diff --git a/packages/kbn-search-response-warnings/src/components/search_response_warnings/search_response_warnings.tsx b/packages/kbn-search-response-warnings/src/components/search_response_warnings/search_response_warnings.tsx index 3c92096aa982b..8588e7275505e 100644 --- a/packages/kbn-search-response-warnings/src/components/search_response_warnings/search_response_warnings.tsx +++ b/packages/kbn-search-response-warnings/src/components/search_response_warnings/search_response_warnings.tsx @@ -270,22 +270,13 @@ function WarningContent({ groupStyles?: Partial; 'data-test-subj': string; }) { - const hasDescription = 'text' in originalWarning; - return ( - {hasDescription ? {originalWarning.message} : originalWarning.message} + {originalWarning.message} - {hasDescription ? ( - - -

    {originalWarning.text}

    -
    -
    - ) : null} {action ? {action} : null}
    ); @@ -306,6 +297,7 @@ function CalloutTitleWrapper({ onClick={onCloseCallout} type="button" iconType="cross" + color="warning" /> diff --git a/packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.test.tsx b/packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.test.tsx index 34ae546f42ba6..b6bf93169ae63 100644 --- a/packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.test.tsx +++ b/packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.test.tsx @@ -9,11 +9,8 @@ import { RequestAdapter } from '@kbn/inspector-plugin/common'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; import { coreMock } from '@kbn/core/public/mocks'; -import { - getSearchResponseInterceptedWarnings, - removeInterceptedWarningDuplicates, -} from './get_search_response_intercepted_warnings'; -import { searchResponseWarningsMock } from '../__mocks__/search_response_warnings'; +import { getSearchResponseInterceptedWarnings } from './get_search_response_intercepted_warnings'; +import { searchResponseIncompleteWarningLocalCluster } from '../__mocks__/search_response_warnings'; const servicesMock = { data: dataPluginMock.createStartContract(), @@ -23,162 +20,66 @@ const servicesMock = { describe('getSearchResponseInterceptedWarnings', () => { const adapter = new RequestAdapter(); - it('should catch warnings correctly', () => { + it('should return intercepted incomplete data warnings', () => { const services = { ...servicesMock, }; services.data.search.showWarnings = jest.fn((_, callback) => { // @ts-expect-error for empty meta - callback?.(searchResponseWarningsMock[0], {}); - // @ts-expect-error for empty meta - callback?.(searchResponseWarningsMock[1], {}); - // @ts-expect-error for empty meta - callback?.(searchResponseWarningsMock[2], {}); - // @ts-expect-error for empty meta - callback?.(searchResponseWarningsMock[3], {}); - - // plus duplicates - // @ts-expect-error for empty meta - callback?.(searchResponseWarningsMock[0], {}); - // @ts-expect-error for empty meta - callback?.(searchResponseWarningsMock[1], {}); - // @ts-expect-error for empty meta - callback?.(searchResponseWarningsMock[2], {}); + callback?.(searchResponseIncompleteWarningLocalCluster, {}); }); - expect( - getSearchResponseInterceptedWarnings({ - services, - adapter, - options: { - disableShardFailureWarning: true, - }, - }) - ).toMatchInlineSnapshot(` - Array [ - Object { - "action": undefined, - "originalWarning": Object { - "message": "Data might be incomplete because your request timed out", - "reason": undefined, - "type": "timed_out", - }, - }, - Object { - "action": , - "originalWarning": Object { - "message": "3 of 4 shards failed", - "reason": Object { - "reason": "Field [__anonymous_] of type [boolean] does not support custom formats", - "type": "illegal_argument_exception", - }, - "text": "The data might be incomplete or wrong.", - "type": "shard_failure", - }, - }, - Object { - "action": , - "originalWarning": Object { - "message": "3 of 4 shards failed", - "reason": Object { - "reason": "failed to create query: [.ds-kibana_sample_data_logs-2023.07.11-000001][0] Testing shard failures!", - "type": "query_shard_exception", + const warnings = getSearchResponseInterceptedWarnings({ + services, + adapter, + }); + + expect(warnings.length).toBe(1); + expect(warnings[0].originalWarning).toEqual(searchResponseIncompleteWarningLocalCluster); + expect(warnings[0].action).toMatchInlineSnapshot(` + , - "originalWarning": Object { - "message": "1 of 4 shards failed", - "reason": Object { - "reason": "failed to create query: [.ds-kibana_sample_data_logs-2023.07.11-000001][0] Testing shard failures!", - "type": "query_shard_exception", + "failures": Array [ + Object { + "index": "sample-01-rollup", + "node": "VFTFJxpHSdaoiGxJFLSExQ", + "reason": Object { + "reason": "Field [kubernetes.container.memory.available.bytes] of type [aggregate_metric_double] is not supported for aggregation [percentiles]", + "type": "illegal_argument_exception", + }, + "shard": 0, + }, + ], + "indices": "", + "status": "partial", + "timed_out": false, + "took": 25, + }, }, - "text": "The data might be incomplete or wrong.", - "type": "shard_failure", - }, - }, - ] + "message": "The data might be incomplete or wrong.", + "type": "incomplete", + } + } + /> `); }); - - it('should not catch any warnings if disableShardFailureWarning is false', () => { - const services = { - ...servicesMock, - }; - services.data.search.showWarnings = jest.fn((_, callback) => { - // @ts-expect-error for empty meta - callback?.(searchResponseWarningsMock[0], {}); - }); - expect( - getSearchResponseInterceptedWarnings({ - services, - adapter, - options: { - disableShardFailureWarning: false, - }, - }) - ).toBeUndefined(); - }); -}); - -describe('removeInterceptedWarningDuplicates', () => { - it('should remove duplicates successfully', () => { - const interceptedWarnings = searchResponseWarningsMock.map((originalWarning) => ({ - originalWarning, - })); - - expect(removeInterceptedWarningDuplicates([interceptedWarnings[0]])).toEqual([ - interceptedWarnings[0], - ]); - expect(removeInterceptedWarningDuplicates(interceptedWarnings)).toEqual(interceptedWarnings); - expect( - removeInterceptedWarningDuplicates([...interceptedWarnings, ...interceptedWarnings]) - ).toEqual(interceptedWarnings); - }); - - it('should return undefined if the list is empty', () => { - expect(removeInterceptedWarningDuplicates([])).toBeUndefined(); - expect(removeInterceptedWarningDuplicates(undefined)).toBeUndefined(); - }); }); diff --git a/packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.tsx b/packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.tsx index 38ad0da2639f7..6518d12109a1d 100644 --- a/packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.tsx +++ b/packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.tsx @@ -7,11 +7,9 @@ */ import React from 'react'; -import { uniqBy } from 'lodash'; import { type DataPublicPluginStart, - type ShardFailureRequest, - ShardFailureOpenModalButton, + OpenIncompleteResultsModalButton, } from '@kbn/data-plugin/public'; import type { RequestAdapter } from '@kbn/inspector-plugin/common'; import type { CoreStart } from '@kbn/core-lifecycle-browser'; @@ -26,21 +24,13 @@ import type { SearchResponseInterceptedWarning } from '../types'; export const getSearchResponseInterceptedWarnings = ({ services, adapter, - options, }: { services: { data: DataPublicPluginStart; theme: CoreStart['theme']; }; adapter: RequestAdapter; - options?: { - disableShardFailureWarning?: boolean; - }; -}): SearchResponseInterceptedWarning[] | undefined => { - if (!options?.disableShardFailureWarning) { - return undefined; - } - +}): SearchResponseInterceptedWarning[] => { const interceptedWarnings: SearchResponseInterceptedWarning[] = []; services.data.search.showWarnings(adapter, (warning, meta) => { @@ -49,13 +39,13 @@ export const getSearchResponseInterceptedWarnings = ({ interceptedWarnings.push({ originalWarning: warning, action: - warning.type === 'shard_failure' && warning.text && warning.message ? ( - ({ - request: request as ShardFailureRequest, + request, response, })} color="primary" @@ -66,23 +56,5 @@ export const getSearchResponseInterceptedWarnings = ({ return true; // suppress the default behaviour }); - return removeInterceptedWarningDuplicates(interceptedWarnings); -}; - -/** - * Removes duplicated warnings - * @param interceptedWarnings - */ -export const removeInterceptedWarningDuplicates = ( - interceptedWarnings: SearchResponseInterceptedWarning[] | undefined -): SearchResponseInterceptedWarning[] | undefined => { - if (!interceptedWarnings?.length) { - return undefined; - } - - const uniqInterceptedWarnings = uniqBy(interceptedWarnings, (interceptedWarning) => - JSON.stringify(interceptedWarning.originalWarning) - ); - - return uniqInterceptedWarnings?.length ? uniqInterceptedWarnings : undefined; + return interceptedWarnings; }; diff --git a/packages/kbn-search-response-warnings/src/utils/has_unsupported_downsampled_aggregation_failure.test.ts b/packages/kbn-search-response-warnings/src/utils/has_unsupported_downsampled_aggregation_failure.test.ts new file mode 100644 index 0000000000000..e8d722feb131a --- /dev/null +++ b/packages/kbn-search-response-warnings/src/utils/has_unsupported_downsampled_aggregation_failure.test.ts @@ -0,0 +1,80 @@ +/* + * 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 { hasUnsupportedDownsampledAggregationFailure } from './has_unsupported_downsampled_aggregation_failure'; + +describe('hasUnsupportedDownsampledAggregationFailure', () => { + test('should return false when unsupported_aggregation_on_downsampled_index shard failure does not exist', () => { + expect( + hasUnsupportedDownsampledAggregationFailure({ + type: 'incomplete', + message: 'The data might be incomplete or wrong.', + clusters: { + '(local)': { + status: 'partial', + indices: '', + took: 25, + timed_out: false, + _shards: { + total: 4, + successful: 3, + skipped: 0, + failed: 1, + }, + failures: [ + { + shard: 0, + index: 'sample-01-rollup', + node: 'VFTFJxpHSdaoiGxJFLSExQ', + reason: { + type: 'illegal_argument_exception', + reason: + 'Field [kubernetes.container.memory.available.bytes] of type [aggregate_metric_double] is not supported for aggregation [percentiles]', + }, + }, + ], + }, + }, + }) + ).toBe(false); + }); + + test('should return true when unsupported_aggregation_on_downsampled_index shard failure exists', () => { + expect( + hasUnsupportedDownsampledAggregationFailure({ + type: 'incomplete', + message: 'The data might be incomplete or wrong.', + clusters: { + '(local)': { + status: 'partial', + indices: '', + took: 25, + timed_out: false, + _shards: { + total: 4, + successful: 3, + skipped: 0, + failed: 1, + }, + failures: [ + { + shard: 0, + index: 'sample-01-rollup', + node: 'VFTFJxpHSdaoiGxJFLSExQ', + reason: { + type: 'unsupported_aggregation_on_downsampled_index', + reason: 'blah blah blah timeseries data', + }, + }, + ], + }, + }, + }) + ).toBe(true); + }); +}); diff --git a/packages/kbn-search-response-warnings/src/utils/has_unsupported_downsampled_aggregation_failure.ts b/packages/kbn-search-response-warnings/src/utils/has_unsupported_downsampled_aggregation_failure.ts new file mode 100644 index 0000000000000..d6dcd4e176498 --- /dev/null +++ b/packages/kbn-search-response-warnings/src/utils/has_unsupported_downsampled_aggregation_failure.ts @@ -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 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 { + SearchResponseWarning, + SearchResponseIncompleteWarning, +} from '@kbn/data-plugin/public'; + +export function hasUnsupportedDownsampledAggregationFailure(warning: SearchResponseWarning) { + return warning.type === 'incomplete' + ? Object.values((warning as SearchResponseIncompleteWarning).clusters).some( + (clusterDetails) => { + return clusterDetails.failures + ? clusterDetails.failures.some((shardFailure) => { + return shardFailure.reason?.type === 'unsupported_aggregation_on_downsampled_index'; + }) + : false; + } + ) + : false; +} diff --git a/src/plugins/data/common/search/aggs/agg_type.ts b/src/plugins/data/common/search/aggs/agg_type.ts index 4812ac6f07c5f..f0b2b2702dbf9 100644 --- a/src/plugins/data/common/search/aggs/agg_type.ts +++ b/src/plugins/data/common/search/aggs/agg_type.ts @@ -30,7 +30,7 @@ type PostFlightRequestFn = ( inspectorRequestAdapter?: RequestAdapter, abortSignal?: AbortSignal, searchSessionId?: string, - disableShardFailureWarning?: boolean + disableWarningToasts?: boolean ) => Promise>; export interface AggTypeConfig< diff --git a/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.ts b/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.ts index 924564744962f..fb88fdbeaa4aa 100644 --- a/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.ts +++ b/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.ts @@ -396,7 +396,7 @@ export const createOtherBucketPostFlightRequest = ( inspectorRequestAdapter, abortSignal, searchSessionId, - disableShardFailureWarning + disableWarningToasts ) => { if (!resp.aggregations) return resp; const nestedSearchSource = searchSource.createChild(); @@ -410,7 +410,7 @@ export const createOtherBucketPostFlightRequest = ( nestedSearchSource.fetch$({ abortSignal, sessionId: searchSessionId, - disableShardFailureWarning, + disableWarningToasts, inspector: { adapter: inspectorRequestAdapter, title: i18n.translate('data.search.aggs.buckets.terms.otherBucketTitle', { diff --git a/src/plugins/data/common/search/expressions/esaggs/request_handler.test.ts b/src/plugins/data/common/search/expressions/esaggs/request_handler.test.ts index e0555fbd24076..4c42fdc985ff4 100644 --- a/src/plugins/data/common/search/expressions/esaggs/request_handler.test.ts +++ b/src/plugins/data/common/search/expressions/esaggs/request_handler.test.ts @@ -53,7 +53,7 @@ describe('esaggs expression function - public', () => { query: undefined, searchSessionId: 'abc123', searchSourceService: searchSourceCommonMock, - disableShardWarnings: false, + disableWarningToasts: false, timeFields: ['@timestamp', 'utc_time'], timeRange: undefined, }; @@ -139,7 +139,7 @@ describe('esaggs expression function - public', () => { description: 'This request queries Elasticsearch to fetch the data for the visualization.', adapter: undefined, }, - disableShardFailureWarning: false, + disableWarningToasts: false, }); }); @@ -159,7 +159,7 @@ describe('esaggs expression function - public', () => { description: 'MyDescription', adapter: undefined, }, - disableShardFailureWarning: false, + disableWarningToasts: false, }); }); diff --git a/src/plugins/data/common/search/expressions/esaggs/request_handler.ts b/src/plugins/data/common/search/expressions/esaggs/request_handler.ts index 196ebfa55810f..7f0155d74082f 100644 --- a/src/plugins/data/common/search/expressions/esaggs/request_handler.ts +++ b/src/plugins/data/common/search/expressions/esaggs/request_handler.ts @@ -30,7 +30,7 @@ export interface RequestHandlerParams { searchSourceService: ISearchStartSearchSource; timeFields?: string[]; timeRange?: TimeRange; - disableShardWarnings?: boolean; + disableWarningToasts?: boolean; getNow?: () => Date; executionContext?: KibanaExecutionContext; title?: string; @@ -48,7 +48,7 @@ export const handleRequest = ({ searchSourceService, timeFields, timeRange, - disableShardWarnings, + disableWarningToasts, getNow, executionContext, title, @@ -110,7 +110,7 @@ export const handleRequest = ({ requestSearchSource .fetch$({ abortSignal, - disableShardFailureWarning: disableShardWarnings, + disableWarningToasts, sessionId: searchSessionId, inspector: { adapter: inspectorAdapters.requests, diff --git a/src/plugins/data/common/search/expressions/kibana_context_type.ts b/src/plugins/data/common/search/expressions/kibana_context_type.ts index cec788d27d856..d6947d2d46ce3 100644 --- a/src/plugins/data/common/search/expressions/kibana_context_type.ts +++ b/src/plugins/data/common/search/expressions/kibana_context_type.ts @@ -15,7 +15,7 @@ export type ExecutionContextSearch = { filters?: Filter[]; query?: Query | Query[]; timeRange?: TimeRange; - disableShardWarnings?: boolean; + disableWarningToasts?: boolean; }; export type ExpressionValueSearchContext = ExpressionValueBoxed< diff --git a/src/plugins/data/common/search/search_source/search_source.ts b/src/plugins/data/common/search/search_source/search_source.ts index b74b7e111b5ce..f05f198451e0a 100644 --- a/src/plugins/data/common/search/search_source/search_source.ts +++ b/src/plugins/data/common/search/search_source/search_source.ts @@ -520,7 +520,7 @@ export class SearchSource { options.inspector?.adapter, options.abortSignal, options.sessionId, - options.disableShardFailureWarning + options.disableWarningToasts ); } } diff --git a/src/plugins/data/common/search/search_source/types.ts b/src/plugins/data/common/search/search_source/types.ts index 140c2dd59a59d..60c0d3713ec64 100644 --- a/src/plugins/data/common/search/search_source/types.ts +++ b/src/plugins/data/common/search/search_source/types.ts @@ -249,7 +249,7 @@ export interface SearchSourceSearchOptions extends ISearchOptions { inspector?: IInspectorInfo; /** - * Disable default warnings of shard failures + * Set to true to disable warning toasts and customize warning display */ - disableShardFailureWarning?: boolean; + disableWarningToasts?: boolean; } diff --git a/src/plugins/data/public/incomplete_results_modal/__snapshots__/incomplete_results_modal.test.tsx.snap b/src/plugins/data/public/incomplete_results_modal/__snapshots__/incomplete_results_modal.test.tsx.snap new file mode 100644 index 0000000000000..666b87f998c3e --- /dev/null +++ b/src/plugins/data/public/incomplete_results_modal/__snapshots__/incomplete_results_modal.test.tsx.snap @@ -0,0 +1,271 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`IncompleteResultsModal should render shard failures 1`] = ` + + + + + + + + + + , + "data-test-subj": "showClusterDetailsButton", + "id": "table", + "name": "Cluster details", + } + } + tabs={ + Array [ + Object { + "content": + + , + "data-test-subj": "showClusterDetailsButton", + "id": "table", + "name": "Cluster details", + }, + Object { + "content": + {} + , + "data-test-subj": "showRequestButton", + "id": "json-request", + "name": "Request", + }, + Object { + "content": + { + "_shards": { + "total": 4, + "successful": 3, + "skipped": 0, + "failed": 1, + "failures": [ + { + "shard": 0, + "index": "sample-01-rollup", + "node": "VFTFJxpHSdaoiGxJFLSExQ", + "reason": { + "type": "illegal_argument_exception", + "reason": "Field [kubernetes.container.memory.available.bytes] of type [aggregate_metric_double] is not supported for aggregation [percentiles]" + } + } + ] + } +} + , + "data-test-subj": "showResponseButton", + "id": "json-response", + "name": "Response", + }, + ] + } + /> + + + + + + + + + + +`; + +exports[`IncompleteResultsModal should render time out 1`] = ` + + + + + + + + + +

    + Request timed out +

    +
    + , + "data-test-subj": "showClusterDetailsButton", + "id": "table", + "name": "Cluster details", + } + } + tabs={ + Array [ + Object { + "content": + +

    + Request timed out +

    +
    +
    , + "data-test-subj": "showClusterDetailsButton", + "id": "table", + "name": "Cluster details", + }, + Object { + "content": + {} + , + "data-test-subj": "showRequestButton", + "id": "json-request", + "name": "Request", + }, + Object { + "content": + { + "timed_out": true, + "_shards": { + "total": 4, + "successful": 4, + "skipped": 0, + "failed": 0 + } +} + , + "data-test-subj": "showResponseButton", + "id": "json-response", + "name": "Response", + }, + ] + } + /> +
    + + + + + + + + +
    +`; diff --git a/src/plugins/data/public/shard_failure_modal/_shard_failure_modal.scss b/src/plugins/data/public/incomplete_results_modal/_incomplete_results_modal.scss similarity index 59% rename from src/plugins/data/public/shard_failure_modal/_shard_failure_modal.scss rename to src/plugins/data/public/incomplete_results_modal/_incomplete_results_modal.scss index 33c6844719ed1..e2ca0f8f9b3b6 100644 --- a/src/plugins/data/public/shard_failure_modal/_shard_failure_modal.scss +++ b/src/plugins/data/public/incomplete_results_modal/_incomplete_results_modal.scss @@ -1,5 +1,5 @@ // set width and height to fixed values to prevent resizing when you switch tabs -.shardFailureModal { +.incompleteResultsModal { min-height: 75vh; width: 768px; @@ -12,10 +12,4 @@ .euiModalHeader { padding-bottom: 0; } -} - -.shardFailureModal__desc { - // set for IE11, since without it depending on the content the width of the list - // could be much higher than the available screenspace - max-width: 686px; -} +} \ No newline at end of file diff --git a/src/plugins/data/public/incomplete_results_modal/incomplete_results_modal.test.tsx b/src/plugins/data/public/incomplete_results_modal/incomplete_results_modal.test.tsx new file mode 100644 index 0000000000000..6e90740cf9888 --- /dev/null +++ b/src/plugins/data/public/incomplete_results_modal/incomplete_results_modal.test.tsx @@ -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 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 React from 'react'; +import { shallow } from 'enzyme'; +import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { SearchResponseIncompleteWarning } from '../search'; +import { IncompleteResultsModal } from './incomplete_results_modal'; + +describe('IncompleteResultsModal', () => { + test('should render shard failures', () => { + const component = shallow( + + } + onClose={jest.fn()} + /> + ); + + expect(component).toMatchSnapshot(); + }); + + test('should render time out', () => { + const component = shallow( + + } + onClose={jest.fn()} + /> + ); + + expect(component).toMatchSnapshot(); + }); +}); diff --git a/src/plugins/data/public/incomplete_results_modal/incomplete_results_modal.tsx b/src/plugins/data/public/incomplete_results_modal/incomplete_results_modal.tsx new file mode 100644 index 0000000000000..eb07d8d60e517 --- /dev/null +++ b/src/plugins/data/public/incomplete_results_modal/incomplete_results_modal.tsx @@ -0,0 +1,148 @@ +/* + * 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 React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { i18n } from '@kbn/i18n'; +import { + EuiCallOut, + EuiCodeBlock, + EuiTabbedContent, + EuiCopy, + EuiButton, + EuiModalBody, + EuiModalHeader, + EuiModalHeaderTitle, + EuiModalFooter, + EuiButtonEmpty, +} from '@elastic/eui'; +import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { SearchRequest } from '..'; +import type { SearchResponseIncompleteWarning } from '../search'; +import { ShardFailureTable } from '../shard_failure_modal/shard_failure_table'; + +export interface Props { + onClose: () => void; + request: SearchRequest; + response: estypes.SearchResponse; + warning: SearchResponseIncompleteWarning; +} + +export function IncompleteResultsModal({ request, response, warning, onClose }: Props) { + const requestJSON = JSON.stringify(request, null, 2); + const responseJSON = JSON.stringify(response, null, 2); + + const tabs = [ + { + id: 'table', + name: i18n.translate( + 'data.search.searchSource.fetch.incompleteResultsModal.tabHeaderClusterDetails', + { + defaultMessage: 'Cluster details', + description: 'Name of the tab displaying cluster details', + } + ), + content: ( + <> + {response.timed_out ? ( + +

    + {i18n.translate( + 'data.search.searchSource.fetch.incompleteResultsModal.requestTimedOutMessage', + { + defaultMessage: 'Request timed out', + } + )} +

    +
    + ) : null} + + {response._shards.failures?.length ? ( + + ) : null} + + ), + ['data-test-subj']: 'showClusterDetailsButton', + }, + { + id: 'json-request', + name: i18n.translate( + 'data.search.searchSource.fetch.incompleteResultsModal.tabHeaderRequest', + { + defaultMessage: 'Request', + description: 'Name of the tab displaying the JSON request', + } + ), + content: ( + + {requestJSON} + + ), + ['data-test-subj']: 'showRequestButton', + }, + { + id: 'json-response', + name: i18n.translate( + 'data.search.searchSource.fetch.incompleteResultsModal.tabHeaderResponse', + { + defaultMessage: 'Response', + description: 'Name of the tab displaying the JSON response', + } + ), + content: ( + + {responseJSON} + + ), + ['data-test-subj']: 'showResponseButton', + }, + ]; + + return ( + + + + + + + + + + + + {(copy) => ( + + + + )} + + onClose()} fill data-test-subj="closeIncompleteResultsModal"> + + + + + ); +} diff --git a/src/plugins/data/public/shard_failure_modal/index.tsx b/src/plugins/data/public/incomplete_results_modal/index.tsx similarity index 54% rename from src/plugins/data/public/shard_failure_modal/index.tsx rename to src/plugins/data/public/incomplete_results_modal/index.tsx index f600ca4368e48..9cb02367e67a5 100644 --- a/src/plugins/data/public/shard_failure_modal/index.tsx +++ b/src/plugins/data/public/incomplete_results_modal/index.tsx @@ -7,17 +7,13 @@ */ import React from 'react'; -import type { ShardFailureOpenModalButtonProps } from './shard_failure_open_modal_button'; +import type { OpenIncompleteResultsModalButtonProps } from './open_incomplete_results_modal_button'; const Fallback = () =>
    ; -const LazyShardFailureOpenModalButton = React.lazy( - () => import('./shard_failure_open_modal_button') -); -export const ShardFailureOpenModalButton = (props: ShardFailureOpenModalButtonProps) => ( +const LazyOpenModalButton = React.lazy(() => import('./open_incomplete_results_modal_button')); +export const OpenIncompleteResultsModalButton = (props: OpenIncompleteResultsModalButtonProps) => ( }> - + ); - -export type { ShardFailureRequest } from './shard_failure_types'; diff --git a/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.tsx b/src/plugins/data/public/incomplete_results_modal/open_incomplete_results_modal_button.tsx similarity index 68% rename from src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.tsx rename to src/plugins/data/public/incomplete_results_modal/open_incomplete_results_modal_button.tsx index 922aee3f49483..648eca08d525b 100644 --- a/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.tsx +++ b/src/plugins/data/public/incomplete_results_modal/open_incomplete_results_modal_button.tsx @@ -13,18 +13,19 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { ThemeServiceStart } from '@kbn/core/public'; import { toMountPoint } from '@kbn/kibana-react-plugin/public'; import { getOverlays } from '../services'; -import { ShardFailureModal } from './shard_failure_modal'; -import type { ShardFailureRequest } from './shard_failure_types'; -import './_shard_failure_modal.scss'; +import type { SearchRequest } from '..'; +import { IncompleteResultsModal } from './incomplete_results_modal'; +import type { SearchResponseIncompleteWarning } from '../search'; +import './_incomplete_results_modal.scss'; // @internal -export interface ShardFailureOpenModalButtonProps { +export interface OpenIncompleteResultsModalButtonProps { theme: ThemeServiceStart; - title: string; + warning: SearchResponseIncompleteWarning; size?: EuiButtonProps['size']; color?: EuiButtonProps['color']; getRequestMeta: () => { - request: ShardFailureRequest; + request: SearchRequest; response: estypes.SearchResponse; }; isButtonEmpty?: boolean; @@ -32,31 +33,31 @@ export interface ShardFailureOpenModalButtonProps { // Needed for React.lazy // eslint-disable-next-line import/no-default-export -export default function ShardFailureOpenModalButton({ +export default function OpenIncompleteResultsModalButton({ getRequestMeta, theme, - title, + warning, size = 's', color = 'warning', isButtonEmpty = false, -}: ShardFailureOpenModalButtonProps) { +}: OpenIncompleteResultsModalButtonProps) { const onClick = useCallback(() => { const { request, response } = getRequestMeta(); const modal = getOverlays().openModal( toMountPoint( - modal.close()} />, { theme$: theme.theme$ } ), { - className: 'shardFailureModal', + className: 'incompleteResultsModal', } ); - }, [getRequestMeta, theme.theme$, title]); + }, [getRequestMeta, theme.theme$, warning]); const Component = isButtonEmpty ? EuiLink : EuiButton; @@ -65,11 +66,11 @@ export default function ShardFailureOpenModalButton({ color={color} size={size} onClick={onClick} - data-test-subj="openShardFailureModalBtn" + data-test-subj="openIncompleteResultsModalBtn" > diff --git a/src/plugins/data/public/index.ts b/src/plugins/data/public/index.ts index d8aa9a35a29a7..48a2d9c10b71c 100644 --- a/src/plugins/data/public/index.ts +++ b/src/plugins/data/public/index.ts @@ -170,6 +170,7 @@ export type { Reason, WaitUntilNextSessionCompletesOptions, SearchResponseWarning, + SearchResponseIncompleteWarning, } from './search'; export { @@ -273,8 +274,7 @@ export type { } from './query'; // TODO: move to @kbn/search-response-warnings -export type { ShardFailureRequest } from './shard_failure_modal'; -export { ShardFailureOpenModalButton } from './shard_failure_modal'; +export { OpenIncompleteResultsModalButton } from './incomplete_results_modal'; export type { AggsStart } from './search/aggs'; diff --git a/src/plugins/data/public/search/expressions/esaggs.test.ts b/src/plugins/data/public/search/expressions/esaggs.test.ts index de35e0b238da9..cf3b04029a2c8 100644 --- a/src/plugins/data/public/search/expressions/esaggs.test.ts +++ b/src/plugins/data/public/search/expressions/esaggs.test.ts @@ -126,7 +126,7 @@ describe('esaggs expression function - public', () => { searchSessionId: 'abc123', searchSourceService: startDependencies.searchSource, timeFields: args.timeFields, - disableShardWarnings: false, + disableWarningToasts: false, timeRange: undefined, getNow: undefined, }); diff --git a/src/plugins/data/public/search/expressions/esaggs.ts b/src/plugins/data/public/search/expressions/esaggs.ts index eecaa5890ba35..5ae0b72e1fe58 100644 --- a/src/plugins/data/public/search/expressions/esaggs.ts +++ b/src/plugins/data/public/search/expressions/esaggs.ts @@ -61,7 +61,7 @@ export function getFunctionDefinition({ return { aggConfigs, indexPattern, searchSource, getNow, handleEsaggsRequest }; }).pipe( switchMap(({ aggConfigs, indexPattern, searchSource, getNow, handleEsaggsRequest }) => { - const { disableShardWarnings } = getSearchContext(); + const { disableWarningToasts } = getSearchContext(); return handleEsaggsRequest({ abortSignal, @@ -74,7 +74,7 @@ export function getFunctionDefinition({ searchSourceService: searchSource, timeFields: args.timeFields, timeRange: get(input, 'timeRange', undefined), - disableShardWarnings: (disableShardWarnings || false) as boolean, + disableWarningToasts: (disableWarningToasts || false) as boolean, getNow, executionContext: getExecutionContext(), }); diff --git a/src/plugins/data/public/search/fetch/extract_warnings.test.ts b/src/plugins/data/public/search/fetch/extract_warnings.test.ts index 28a45ca9e6d65..fed0969c2004f 100644 --- a/src/plugins/data/public/search/fetch/extract_warnings.test.ts +++ b/src/plugins/data/public/search/fetch/extract_warnings.test.ts @@ -10,121 +10,280 @@ import { estypes } from '@elastic/elasticsearch'; import { extractWarnings } from './extract_warnings'; describe('extract search response warnings', () => { - it('should extract warnings from response with shard failures', () => { - const response = { - took: 25, - timed_out: false, - _shards: { - total: 4, - successful: 2, - skipped: 0, - failed: 2, - failures: [ - { - shard: 0, - index: 'sample-01-rollup', - node: 'VFTFJxpHSdaoiGxJFLSExQ', - reason: { - type: 'illegal_argument_exception', - reason: - 'Field [kubernetes.container.memory.available.bytes] of type [aggregate_metric_double] is not supported for aggregation [percentiles]', + describe('single cluster', () => { + it('should extract incomplete warning from response with shard failures', () => { + const response = { + took: 25, + timed_out: false, + _shards: { + total: 4, + successful: 3, + skipped: 0, + failed: 1, + failures: [ + { + shard: 0, + index: 'sample-01-rollup', + node: 'VFTFJxpHSdaoiGxJFLSExQ', + reason: { + type: 'illegal_argument_exception', + reason: + 'Field [kubernetes.container.memory.available.bytes] of type [aggregate_metric_double] is not supported for aggregation [percentiles]', + }, + }, + ], + }, + hits: { total: 18239, max_score: null, hits: [] }, + aggregations: {}, + }; + + expect(extractWarnings(response)).toEqual([ + { + type: 'incomplete', + message: 'The data might be incomplete or wrong.', + clusters: { + '(local)': { + status: 'partial', + indices: '', + took: 25, + timed_out: false, + _shards: response._shards, + failures: response._shards.failures, }, }, - ], - }, - hits: { total: 18239, max_score: null, hits: [] }, - aggregations: {}, - }; + }, + ]); + }); - expect(extractWarnings(response)).toEqual([ - { - type: 'shard_failure', - message: '2 of 4 shards failed', - reason: { - type: 'illegal_argument_exception', - reason: - 'Field [kubernetes.container.memory.available.bytes] of type' + - ' [aggregate_metric_double] is not supported for aggregation [percentiles]', + it('should extract incomplete warning from response with time out', () => { + const response = { + took: 999, + timed_out: true, + _shards: {} as estypes.ShardStatistics, + hits: { hits: [] }, + }; + expect(extractWarnings(response)).toEqual([ + { + type: 'incomplete', + message: 'The data might be incomplete or wrong.', + clusters: { + '(local)': { + status: 'partial', + indices: '', + took: 999, + timed_out: true, + _shards: response._shards, + failures: response._shards.failures, + }, + }, }, - text: 'The data might be incomplete or wrong.', - }, - ]); - }); + ]); + }); - it('should extract timeout warning', () => { - const warnings = { - took: 999, - timed_out: true, - _shards: {} as estypes.ShardStatistics, - hits: { hits: [] }, - }; - expect(extractWarnings(warnings)).toEqual([ - { - type: 'timed_out', - message: 'Data might be incomplete because your request timed out', - }, - ]); - }); + it('should not include warnings when there are none', () => { + const warnings = extractWarnings({ + timed_out: false, + _shards: { + failed: 0, + total: 9000, + }, + } as estypes.SearchResponse); - it('should extract shards failed warnings', () => { - const warnings = { - _shards: { - failed: 77, - total: 79, - }, - } as estypes.SearchResponse; - expect(extractWarnings(warnings)).toEqual([ - { - type: 'shard_failure', - message: '77 of 79 shards failed', - reason: { type: 'generic_shard_warning' }, - text: 'The data might be incomplete or wrong.', - }, - ]); + expect(warnings).toEqual([]); + }); }); - it('should extract shards failed warning failure reason type', () => { - const warnings = extractWarnings({ - _shards: { - failed: 77, - total: 79, - }, - } as estypes.SearchResponse); - expect(warnings).toEqual([ - { - type: 'shard_failure', - message: '77 of 79 shards failed', - reason: { type: 'generic_shard_warning' }, - text: 'The data might be incomplete or wrong.', - }, - ]); - }); + describe('remote clusters', () => { + it('should extract incomplete warning from response with shard failures', () => { + const response = { + took: 25, + timed_out: false, + _shards: { + total: 4, + successful: 3, + skipped: 0, + failed: 1, + failures: [ + { + shard: 0, + index: 'remote1:.ds-kibana_sample_data_logs-2023.08.21-000001', + node: 'NVzFRd6SS4qT9o0k2vIzlg', + reason: { + type: 'query_shard_exception', + reason: + 'failed to create query: [.ds-kibana_sample_data_logs-2023.08.21-000001][0] local shard failure message 123', + index_uuid: 'z1sPO8E4TdWcijNgsL_BxQ', + index: 'remote1:.ds-kibana_sample_data_logs-2023.08.21-000001', + caused_by: { + type: 'runtime_exception', + reason: + 'runtime_exception: [.ds-kibana_sample_data_logs-2023.08.21-000001][0] local shard failure message 123', + }, + }, + }, + ], + }, + _clusters: { + total: 2, + successful: 2, + skipped: 0, + details: { + '(local)': { + status: 'successful', + indices: 'kibana_sample_data_logs,kibana_sample_data_flights', + took: 1, + timed_out: false, + _shards: { + total: 2, + successful: 2, + skipped: 0, + failed: 0, + }, + }, + remote1: { + status: 'partial', + indices: 'kibana_sample_data_logs,kibana_sample_data_flights', + took: 5, + timed_out: false, + _shards: { + total: 2, + successful: 1, + skipped: 0, + failed: 1, + }, + failures: [ + { + shard: 0, + index: 'remote1:.ds-kibana_sample_data_logs-2023.08.21-000001', + node: 'NVzFRd6SS4qT9o0k2vIzlg', + reason: { + type: 'query_shard_exception', + reason: + 'failed to create query: [.ds-kibana_sample_data_logs-2023.08.21-000001][0] local shard failure message 123', + index_uuid: 'z1sPO8E4TdWcijNgsL_BxQ', + index: 'remote1:.ds-kibana_sample_data_logs-2023.08.21-000001', + caused_by: { + type: 'runtime_exception', + reason: + 'runtime_exception: [.ds-kibana_sample_data_logs-2023.08.21-000001][0] local shard failure message 123', + }, + }, + }, + ], + }, + }, + }, + hits: { total: 18239, max_score: null, hits: [] }, + aggregations: {}, + }; - it('extracts multiple warnings', () => { - const warnings = extractWarnings({ - timed_out: true, - _shards: { - failed: 77, - total: 79, - }, - } as estypes.SearchResponse); - const [shardFailures, timedOut] = [ - warnings.filter(({ type }) => type !== 'timed_out'), - warnings.filter(({ type }) => type === 'timed_out'), - ]; - expect(shardFailures[0]!.message).toBeDefined(); - expect(timedOut[0]!.message).toBeDefined(); - }); + expect(extractWarnings(response)).toEqual([ + { + type: 'incomplete', + message: 'The data might be incomplete or wrong.', + clusters: response._clusters.details, + }, + ]); + }); - it('should not include shardStats or types fields if there are no warnings', () => { - const warnings = extractWarnings({ - timed_out: false, - _shards: { - failed: 0, - total: 9000, - }, - } as estypes.SearchResponse); + it('should extract incomplete warning from response with time out', () => { + const response = { + took: 999, + timed_out: true, + _shards: { + total: 6, + successful: 6, + skipped: 0, + failed: 0, + }, + _clusters: { + total: 2, + successful: 2, + skipped: 0, + details: { + '(local)': { + status: 'successful', + indices: + 'kibana_sample_data_ecommerce,kibana_sample_data_logs,kibana_sample_data_flights', + took: 0, + timed_out: false, + _shards: { + total: 3, + successful: 3, + skipped: 0, + failed: 0, + }, + }, + remote1: { + status: 'partial', + indices: 'kibana_sample_data*', + took: 10005, + timed_out: true, + _shards: { + total: 3, + successful: 3, + skipped: 0, + failed: 0, + }, + }, + }, + }, + hits: { hits: [] }, + }; + expect(extractWarnings(response)).toEqual([ + { + type: 'incomplete', + message: 'The data might be incomplete or wrong.', + clusters: response._clusters.details, + }, + ]); + }); + + it('should not include warnings when there are none', () => { + const warnings = extractWarnings({ + took: 10, + timed_out: false, + _shards: { + total: 4, + successful: 4, + skipped: 0, + failed: 0, + }, + _clusters: { + total: 2, + successful: 2, + skipped: 0, + details: { + '(local)': { + status: 'successful', + indices: 'kibana_sample_data_logs,kibana_sample_data_flights', + took: 0, + timed_out: false, + _shards: { + total: 2, + successful: 2, + skipped: 0, + failed: 0, + }, + }, + remote1: { + status: 'successful', + indices: 'kibana_sample_data_logs,kibana_sample_data_flights', + took: 1, + timed_out: false, + _shards: { + total: 2, + successful: 2, + skipped: 0, + failed: 0, + }, + }, + }, + }, + hits: { hits: [] }, + } as estypes.SearchResponse); - expect(warnings).toEqual([]); + expect(warnings).toEqual([]); + }); }); }); diff --git a/src/plugins/data/public/search/fetch/extract_warnings.ts b/src/plugins/data/public/search/fetch/extract_warnings.ts index 7c574acba472c..34b30d5f971bf 100644 --- a/src/plugins/data/public/search/fetch/extract_warnings.ts +++ b/src/plugins/data/public/search/fetch/extract_warnings.ts @@ -8,6 +8,7 @@ import { estypes } from '@elastic/elasticsearch'; import { i18n } from '@kbn/i18n'; +import type { ClusterDetails } from '@kbn/es-types'; import { SearchResponseWarning } from '../types'; /** @@ -16,53 +17,38 @@ import { SearchResponseWarning } from '../types'; export function extractWarnings(rawResponse: estypes.SearchResponse): SearchResponseWarning[] { const warnings: SearchResponseWarning[] = []; - if (rawResponse.timed_out === true) { + const isPartial = rawResponse._clusters + ? Object.values( + ( + rawResponse._clusters as estypes.ClusterStatistics & { + details: Record; + } + ).details + ).some((clusterDetails) => clusterDetails.status !== 'successful') + : rawResponse.timed_out || rawResponse._shards.failed > 0; + if (isPartial) { warnings.push({ - type: 'timed_out', - message: i18n.translate('data.search.searchSource.fetch.requestTimedOutNotificationMessage', { - defaultMessage: 'Data might be incomplete because your request timed out', + type: 'incomplete', + message: i18n.translate('data.search.searchSource.fetch.incompleteResultsMessage', { + defaultMessage: 'The data might be incomplete or wrong.', }), - reason: undefined, // exists so that callers do not have to cast when working with shard warnings. - }); - } - - if (rawResponse._shards && rawResponse._shards.failed) { - const message = i18n.translate( - 'data.search.searchSource.fetch.shardsFailedNotificationMessage', - { - defaultMessage: '{shardsFailed} of {shardsTotal} shards failed', - values: { - shardsFailed: rawResponse._shards.failed, - shardsTotal: rawResponse._shards.total, - }, - } - ); - const text = i18n.translate( - 'data.search.searchSource.fetch.shardsFailedNotificationDescription', - { defaultMessage: 'The data might be incomplete or wrong.' } - ); - - if (rawResponse._shards.failures) { - rawResponse._shards.failures?.forEach((f) => { - warnings.push({ - type: 'shard_failure', - message, - text, - reason: { - type: f.reason.type, - reason: f.reason.reason, + clusters: rawResponse._clusters + ? ( + rawResponse._clusters as estypes.ClusterStatistics & { + details: Record; + } + ).details + : { + '(local)': { + status: 'partial', + indices: '', + took: rawResponse.took, + timed_out: rawResponse.timed_out, + _shards: rawResponse._shards, + failures: rawResponse._shards.failures, + }, }, - }); - }); - } else { - // unknown type and reason - warnings.push({ - type: 'shard_failure', - message, - text, - reason: { type: 'generic_shard_warning' }, - }); - } + }); } return warnings; diff --git a/src/plugins/data/public/search/fetch/handle_warnings.test.ts b/src/plugins/data/public/search/fetch/handle_warnings.test.ts deleted file mode 100644 index bc07eb3673991..0000000000000 --- a/src/plugins/data/public/search/fetch/handle_warnings.test.ts +++ /dev/null @@ -1,182 +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 { estypes } from '@elastic/elasticsearch'; -import { notificationServiceMock } from '@kbn/core-notifications-browser-mocks'; -import { themeServiceMock } from '@kbn/core/public/mocks'; -import { setNotifications } from '../../services'; -import { SearchResponseWarning } from '../types'; -import { filterWarnings, handleWarnings } from './handle_warnings'; -import * as extract from './extract_warnings'; -import { SearchRequest } from '../../../common'; - -jest.mock('@kbn/i18n', () => { - return { - i18n: { - translate: (_id: string, { defaultMessage }: { defaultMessage: string }) => defaultMessage, - }, - }; -}); -jest.mock('./extract_warnings', () => ({ - extractWarnings: jest.fn(() => []), -})); - -const theme = themeServiceMock.createStartContract(); -const warnings: SearchResponseWarning[] = [ - { - type: 'timed_out' as const, - message: 'Something timed out!', - reason: undefined, - }, - { - type: 'shard_failure' as const, - message: 'Some shards failed!', - text: 'test text', - reason: { type: 'illegal_argument_exception', reason: 'Illegal argument! Go to jail!' }, - }, - { - type: 'shard_failure' as const, - message: 'Some shards failed!', - reason: { type: 'generic_shard_failure' }, - }, -]; - -const sessionId = 'abcd'; - -describe('Filtering and showing warnings', () => { - const notifications = notificationServiceMock.createStartContract(); - jest.useFakeTimers(); - - describe('handleWarnings', () => { - const request = { body: {} }; - beforeEach(() => { - jest.resetAllMocks(); - jest.advanceTimersByTime(30000); - setNotifications(notifications); - (notifications.toasts.addWarning as jest.Mock).mockReset(); - (extract.extractWarnings as jest.Mock).mockImplementation(() => warnings); - }); - - test('should notify if timed out', () => { - (extract.extractWarnings as jest.Mock).mockImplementation(() => [warnings[0]]); - const response = { rawResponse: { timed_out: true } } as unknown as estypes.SearchResponse; - handleWarnings({ request, response, theme }); - // test debounce, addWarning should only be called once - handleWarnings({ request, response, theme }); - - expect(notifications.toasts.addWarning).toBeCalledTimes(1); - expect(notifications.toasts.addWarning).toBeCalledWith({ title: 'Something timed out!' }); - - // test debounce, call addWarning again due to sessionId - handleWarnings({ request, response, theme, sessionId }); - expect(notifications.toasts.addWarning).toBeCalledTimes(2); - }); - - test('should notify if shards failed for unknown type/reason', () => { - (extract.extractWarnings as jest.Mock).mockImplementation(() => [warnings[2]]); - const response = { - rawResponse: { _shards: { failed: 1, total: 2, successful: 1, skipped: 1 } }, - } as unknown as estypes.SearchResponse; - handleWarnings({ request, response, theme }); - // test debounce, addWarning should only be called once - handleWarnings({ request, response, theme }); - - expect(notifications.toasts.addWarning).toBeCalledTimes(1); - expect(notifications.toasts.addWarning).toBeCalledWith({ title: 'Some shards failed!' }); - - // test debounce, call addWarning again due to sessionId - handleWarnings({ request, response, theme, sessionId }); - expect(notifications.toasts.addWarning).toBeCalledTimes(2); - }); - - test('should add mount point for shard modal failure button if warning.text is provided', () => { - (extract.extractWarnings as jest.Mock).mockImplementation(() => [warnings[1]]); - const response = { - rawResponse: { _shards: { failed: 1, total: 2, successful: 1, skipped: 1 } }, - } as unknown as estypes.SearchResponse; - handleWarnings({ request, response, theme }); - // test debounce, addWarning should only be called once - handleWarnings({ request, response, theme }); - - expect(notifications.toasts.addWarning).toBeCalledTimes(1); - expect(notifications.toasts.addWarning).toBeCalledWith({ - title: 'Some shards failed!', - text: expect.any(Function), - }); - - // test debounce, call addWarning again due to sessionId - handleWarnings({ request, response, theme, sessionId }); - expect(notifications.toasts.addWarning).toBeCalledTimes(2); - }); - - test('should notify once if the response contains multiple failures', () => { - (extract.extractWarnings as jest.Mock).mockImplementation(() => [warnings[1], warnings[2]]); - const response = { - rawResponse: { _shards: { failed: 1, total: 2, successful: 1, skipped: 1 } }, - } as unknown as estypes.SearchResponse; - handleWarnings({ request, response, theme }); - - expect(notifications.toasts.addWarning).toBeCalledTimes(1); - expect(notifications.toasts.addWarning).toBeCalledWith({ - title: 'Some shards failed!', - text: expect.any(Function), - }); - }); - - test('should notify once if the response contains some unfiltered failures', () => { - const callback = (warning: SearchResponseWarning) => - warning.reason?.type !== 'generic_shard_failure'; - const response = { - rawResponse: { _shards: { failed: 1, total: 2, successful: 1, skipped: 1 } }, - } as unknown as estypes.SearchResponse; - handleWarnings({ request, response, theme, callback }); - - expect(notifications.toasts.addWarning).toBeCalledTimes(1); - expect(notifications.toasts.addWarning).toBeCalledWith({ title: 'Some shards failed!' }); - }); - - test('should not notify if the response contains no unfiltered failures', () => { - const callback = () => true; - const response = { - rawResponse: { _shards: { failed: 1, total: 2, successful: 1, skipped: 1 } }, - } as unknown as estypes.SearchResponse; - handleWarnings({ request, response, theme, callback }); - - expect(notifications.toasts.addWarning).toBeCalledTimes(0); - }); - }); - - describe('filterWarnings', () => { - const callback = jest.fn(); - const request = {} as SearchRequest; - const response = {} as estypes.SearchResponse; - - beforeEach(() => { - callback.mockImplementation(() => { - throw new Error('not initialized'); - }); - }); - - it('filters out all', () => { - callback.mockImplementation(() => true); - expect(filterWarnings(warnings, callback, request, response, 'id')).toEqual([]); - }); - - it('filters out some', () => { - callback.mockImplementation( - (warning: SearchResponseWarning) => warning.reason?.type !== 'generic_shard_failure' - ); - expect(filterWarnings(warnings, callback, request, response, 'id')).toEqual([warnings[2]]); - }); - - it('filters out none', () => { - callback.mockImplementation(() => false); - expect(filterWarnings(warnings, callback, request, response, 'id')).toEqual(warnings); - }); - }); -}); diff --git a/src/plugins/data/public/search/fetch/handle_warnings.tsx b/src/plugins/data/public/search/fetch/handle_warnings.tsx index 3e1353ee2f9a7..3380ffe0c8c99 100644 --- a/src/plugins/data/public/search/fetch/handle_warnings.tsx +++ b/src/plugins/data/public/search/fetch/handle_warnings.tsx @@ -7,49 +7,23 @@ */ import { estypes } from '@elastic/elasticsearch'; -import { debounce } from 'lodash'; -import { EuiSpacer, EuiTextAlign } from '@elastic/eui'; +import { EuiTextAlign } from '@elastic/eui'; import { ThemeServiceStart } from '@kbn/core/public'; import { toMountPoint } from '@kbn/kibana-react-plugin/public'; import React from 'react'; -import type { MountPoint } from '@kbn/core/public'; import { SearchRequest } from '..'; import { getNotifications } from '../../services'; -import { ShardFailureOpenModalButton, ShardFailureRequest } from '../../shard_failure_modal'; +import { OpenIncompleteResultsModalButton } from '../../incomplete_results_modal'; import { - SearchResponseShardFailureWarning, + SearchResponseIncompleteWarning, SearchResponseWarning, WarningHandlerCallback, } from '../types'; import { extractWarnings } from './extract_warnings'; -const getDebouncedWarning = () => { - const addWarning = () => { - const { toasts } = getNotifications(); - return debounce(toasts.addWarning.bind(toasts), 30000, { - leading: true, - }); - }; - const memory: Record> = {}; - - return ( - debounceKey: string, - title: string, - text?: string | MountPoint | undefined - ) => { - memory[debounceKey] = memory[debounceKey] || addWarning(); - return memory[debounceKey]({ title, text }); - }; -}; - -const debouncedWarningWithoutReason = getDebouncedWarning(); -const debouncedTimeoutWarning = getDebouncedWarning(); -const debouncedWarning = getDebouncedWarning(); - /** * @internal - * All warnings are expected to come from the same response. Therefore all "text" properties, which contain the - * response, will be the same. + * All warnings are expected to come from the same response. */ export function handleWarnings({ request, @@ -78,47 +52,29 @@ export function handleWarnings({ return; } - // timeout notification - const [timeout] = internal.filter((w) => w.type === 'timed_out'); - if (timeout) { - debouncedTimeoutWarning(sessionId + timeout.message, timeout.message); - } - - // shard warning failure notification - const shardFailures = internal.filter((w) => w.type === 'shard_failure'); - if (shardFailures.length === 0) { + // Incomplete data failure notification + const incompleteWarnings = internal.filter((w) => w.type === 'incomplete'); + if (incompleteWarnings.length === 0) { return; } - const [warning] = shardFailures as SearchResponseShardFailureWarning[]; - const title = warning.message; - - // if warning message contains text (warning response), show in ShardFailureOpenModalButton - if (warning.text) { - const text = toMountPoint( - <> - {warning.text} - - - ({ - request: request as ShardFailureRequest, - response, - })} - /> - - , + const [incompleteWarning] = incompleteWarnings as SearchResponseIncompleteWarning[]; + getNotifications().toasts.addWarning({ + title: incompleteWarning.message, + text: toMountPoint( + + ({ + request, + response, + })} + warning={incompleteWarning} + /> + , { theme$: theme.theme$ } - ); - - debouncedWarning(sessionId + warning.text, title, text); - return; - } - - // timeout warning, or shard warning with no failure reason - debouncedWarningWithoutReason(sessionId + title, title); + ), + }); } /** diff --git a/src/plugins/data/public/search/index.ts b/src/plugins/data/public/search/index.ts index 46024da1096d0..fe193c867475f 100644 --- a/src/plugins/data/public/search/index.ts +++ b/src/plugins/data/public/search/index.ts @@ -10,6 +10,7 @@ export * from './expressions'; export type { SearchResponseWarning, + SearchResponseIncompleteWarning, ISearchSetup, ISearchStart, ISearchStartSearchSource, diff --git a/src/plugins/data/public/search/search_service.test.ts b/src/plugins/data/public/search/search_service.test.ts index c94cde6b8f747..784a41a299503 100644 --- a/src/plugins/data/public/search/search_service.test.ts +++ b/src/plugins/data/public/search/search_service.test.ts @@ -142,7 +142,7 @@ describe('Search service', () => { expect(notifications.toasts.addWarning).toBeCalledTimes(1); expect(notifications.toasts.addWarning).toBeCalledWith({ - title: '2 of 4 shards failed', + title: 'The data might be incomplete or wrong.', text: expect.any(Function), }); }); @@ -155,90 +155,6 @@ describe('Search service', () => { expect(notifications.toasts.addWarning).toBeCalledTimes(0); }); - - it('will show single notification when some warnings are filtered', () => { - callback = (warning) => warning.reason?.type === 'illegal_argument_exception'; - shards.failures = [ - { - reason: { - type: 'illegal_argument_exception', - reason: 'reason of "illegal_argument_exception"', - }, - }, - { - reason: { - type: 'other_kind_of_exception', - reason: 'reason of other_kind_of_exception', - }, - }, - { reason: { type: 'fatal_warning', reason: 'this is a fatal warning message' } }, - ] as unknown as estypes.ShardFailure[]; - - const responder = inspector.adapter.start('request1'); - responder.ok(getMockResponseWithShards(shards)); - data.showWarnings(inspector.adapter, callback); - - expect(notifications.toasts.addWarning).toBeCalledTimes(1); - expect(notifications.toasts.addWarning).toBeCalledWith({ - title: '2 of 4 shards failed', - text: expect.any(Function), - }); - }); - - it('can show a timed_out warning', () => { - const responder = inspector.adapter.start('request1'); - shards = { total: 4, successful: 4, skipped: 0, failed: 0 }; - const response1 = getMockResponseWithShards(shards); - response1.json.rawResponse.timed_out = true; - responder.ok(response1); - data.showWarnings(inspector.adapter, callback); - - expect(notifications.toasts.addWarning).toBeCalledTimes(1); - expect(notifications.toasts.addWarning).toBeCalledWith({ - title: 'Data might be incomplete because your request timed out', - }); - }); - - it('can show two warnings if response has shard failures and also timed_out', () => { - const responder = inspector.adapter.start('request1'); - const response1 = getMockResponseWithShards(shards); - response1.json.rawResponse.timed_out = true; - responder.ok(response1); - data.showWarnings(inspector.adapter, callback); - - expect(notifications.toasts.addWarning).toBeCalledTimes(2); - expect(notifications.toasts.addWarning).nthCalledWith(1, { - title: 'Data might be incomplete because your request timed out', - }); - expect(notifications.toasts.addWarning).nthCalledWith(2, { - title: '2 of 4 shards failed', - text: expect.any(Function), - }); - }); - - it('will show multiple warnings when multiple responses have shard failures', () => { - const responder1 = inspector.adapter.start('request1'); - const responder2 = inspector.adapter.start('request2'); - responder1.ok(getMockResponseWithShards(shards)); - responder2.ok({ - json: { - rawResponse: { - timed_out: true, - }, - }, - }); - - data.showWarnings(inspector.adapter, callback); - - expect(notifications.toasts.addWarning).toBeCalledTimes(2); - expect(notifications.toasts.addWarning).nthCalledWith(1, { - title: '2 of 4 shards failed', - text: expect.any(Function), - }); - expect(notifications.toasts.addWarning).nthCalledWith(2, { - title: 'Data might be incomplete because your request timed out', - }); - }); }); }); }); diff --git a/src/plugins/data/public/search/search_service.ts b/src/plugins/data/public/search/search_service.ts index 79229eaff91bf..4631425696243 100644 --- a/src/plugins/data/public/search/search_service.ts +++ b/src/plugins/data/public/search/search_service.ts @@ -243,7 +243,7 @@ export class SearchService implements Plugin { getConfig: uiSettings.get.bind(uiSettings), search, onResponse: (request, response, options) => { - if (!options.disableShardFailureWarning) { + if (!options.disableWarningToasts) { const { rawResponse } = response; handleWarnings({ diff --git a/src/plugins/data/public/search/types.ts b/src/plugins/data/public/search/types.ts index d1fde7bd4d7e6..2daceefeadb77 100644 --- a/src/plugins/data/public/search/types.ts +++ b/src/plugins/data/public/search/types.ts @@ -7,6 +7,7 @@ */ import { estypes } from '@elastic/elasticsearch'; +import type { ClusterDetails } from '@kbn/es-types'; import type { PackageInfo } from '@kbn/core/server'; import { DataViewsContract } from '@kbn/data-views-plugin/common'; import { RequestAdapter } from '@kbn/inspector-plugin/public'; @@ -96,63 +97,35 @@ export interface SearchServiceStartDependencies { } /** - * A warning object for a search response with internal ES timeouts + * A warning object for a search response with incomplete ES results + * ES returns incomplete results when: + * 1) Set timeout flag on search and the timeout expires on cluster + * 2) Some shard failures on a cluster + * 3) skipped remote(s) (skip_unavailable=true) + * a. all shards failed + * b. disconnected/not-connected * @public */ -export interface SearchResponseTimeoutWarning { +export interface SearchResponseIncompleteWarning { /** - * type: for sorting out timeout warnings + * type: for sorting out incomplete warnings */ - type: 'timed_out'; + type: 'incomplete'; /** * message: human-friendly message */ message: string; /** - * reason: not given for timeout. This exists so that callers do not have to cast when working with shard failure warnings. + * clusters: cluster details. */ - reason: undefined; -} - -/** - * A warning object for a search response with internal ES shard failures - * @public - */ -export interface SearchResponseShardFailureWarning { - /** - * type: for sorting out shard failure warnings - */ - type: 'shard_failure'; - /** - * message: human-friendly message - */ - message: string; - /** - * text: text to show in ShardFailureModal (optional) - */ - text?: string; - /** - * reason: ShardFailureReason from es client - */ - reason: { - /** - * type: failure code from Elasticsearch - */ - type: 'generic_shard_warning' | estypes.ShardFailure['reason']['type']; - /** - * reason: failure reason from Elasticsearch - */ - reason?: estypes.ShardFailure['reason']['reason']; - }; + clusters: Record; } /** * A warning object for a search response with warnings * @public */ -export type SearchResponseWarning = - | SearchResponseTimeoutWarning - | SearchResponseShardFailureWarning; +export type SearchResponseWarning = SearchResponseIncompleteWarning; /** * A callback function which can intercept warnings when passed to {@link showWarnings}. Pass `true` from the diff --git a/src/plugins/data/public/shard_failure_modal/__mocks__/shard_failure_request.ts b/src/plugins/data/public/shard_failure_modal/__mocks__/shard_failure_request.ts deleted file mode 100644 index c13ca9e71f48f..0000000000000 --- a/src/plugins/data/public/shard_failure_modal/__mocks__/shard_failure_request.ts +++ /dev/null @@ -1,22 +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 { ShardFailureRequest } from '../shard_failure_types'; -export const shardFailureRequest = { - version: true, - size: 500, - sort: [], - _source: { - excludes: [], - }, - stored_fields: ['*'], - script_fields: {}, - docvalue_fields: [], - query: {}, - highlight: {}, -} as ShardFailureRequest; diff --git a/src/plugins/data/public/shard_failure_modal/__mocks__/shard_failure_response.ts b/src/plugins/data/public/shard_failure_modal/__mocks__/shard_failure_response.ts index 50355a933ec5d..b45caefd5fe26 100644 --- a/src/plugins/data/public/shard_failure_modal/__mocks__/shard_failure_response.ts +++ b/src/plugins/data/public/shard_failure_modal/__mocks__/shard_failure_response.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import { estypes } from '@elastic/elasticsearch'; export const shardFailureResponse: estypes.SearchResponse = { _shards: { @@ -33,4 +33,4 @@ export const shardFailureResponse: estypes.SearchResponse = { }, ], }, -} as any; +} as unknown as estypes.SearchResponse; diff --git a/src/plugins/data/public/shard_failure_modal/__snapshots__/shard_failure_description.test.tsx.snap b/src/plugins/data/public/shard_failure_modal/__snapshots__/shard_failure_description.test.tsx.snap index fbad1c1f3dc80..c8635d69e1fde 100644 --- a/src/plugins/data/public/shard_failure_modal/__snapshots__/shard_failure_description.test.tsx.snap +++ b/src/plugins/data/public/shard_failure_modal/__snapshots__/shard_failure_description.test.tsx.snap @@ -10,7 +10,6 @@ exports[`ShardFailureDescription renders matching snapshot given valid propertie grow={false} > - - - test - - - - , - "data-test-subj": "shardFailuresModalShardButton", - "id": "table", - "name": "Shard failures", - } - } - tabs={ - Array [ - Object { - "content": , - "data-test-subj": "shardFailuresModalShardButton", - "id": "table", - "name": "Shard failures", - }, - Object { - "content": - { - "version": true, - "size": 500, - "sort": [], - "_source": { - "excludes": [] - }, - "stored_fields": [ - "*" - ], - "script_fields": {}, - "docvalue_fields": [], - "query": {}, - "highlight": {} -} - , - "data-test-subj": "shardFailuresModalRequestButton", - "id": "json-request", - "name": "Request", - }, - Object { - "content": - { - "_shards": { - "total": 2, - "successful": 1, - "skipped": 0, - "failed": 1, - "failures": [ - { - "shard": 0, - "index": "repro2", - "node": "itsmeyournode", - "reason": { - "type": "script_exception", - "reason": "runtime error", - "script_stack": [ - "return doc['targetfield'].value;", - " ^---- HERE" - ], - "script": "return doc['targetfield'].value;", - "lang": "painless", - "caused_by": { - "type": "illegal_argument_exception", - "reason": "Gimme reason" - } - } - } - ] - } -} - , - "data-test-subj": "shardFailuresModalResponseButton", - "id": "json-response", - "name": "Response", - }, - ] - } - /> - - - - - - - - - - -`; diff --git a/src/plugins/data/public/shard_failure_modal/shard_failure_description.test.tsx b/src/plugins/data/public/shard_failure_modal/shard_failure_description.test.tsx index 9664ca1f9f997..23a455ac04c3c 100644 --- a/src/plugins/data/public/shard_failure_modal/shard_failure_description.test.tsx +++ b/src/plugins/data/public/shard_failure_modal/shard_failure_description.test.tsx @@ -14,13 +14,13 @@ import { shardFailureResponse } from './__mocks__/shard_failure_response'; describe('ShardFailureDescription', () => { it('renders matching snapshot given valid properties', () => { - const failure = (shardFailureResponse._shards as any).failures[0]; + const failure = shardFailureResponse._shards.failures![0]; const component = shallowWithIntl(); expect(component).toMatchSnapshot(); }); it('should show more details when button is pressed', async () => { - const failure = (shardFailureResponse._shards as any).failures[0]; + const failure = shardFailureResponse._shards.failures![0]; const component = shallowWithIntl(); await component.find(EuiButtonEmpty).simulate('click'); expect(component).toMatchSnapshot(); diff --git a/src/plugins/data/public/shard_failure_modal/shard_failure_description.tsx b/src/plugins/data/public/shard_failure_modal/shard_failure_description.tsx index 9d78b0adf9a89..32b54a87294d3 100644 --- a/src/plugins/data/public/shard_failure_modal/shard_failure_description.tsx +++ b/src/plugins/data/public/shard_failure_modal/shard_failure_description.tsx @@ -7,6 +7,7 @@ */ import React, { useState } from 'react'; +import { estypes } from '@elastic/elasticsearch'; import { i18n } from '@kbn/i18n'; import { css } from '@emotion/react'; import { getFlattenedObject } from '@kbn/std'; @@ -17,7 +18,6 @@ import { EuiFlexGroup, EuiFlexItem, } from '@elastic/eui'; -import { ShardFailure } from './shard_failure_types'; /** * Provides pretty formatting of a given key string @@ -47,7 +47,7 @@ export function formatValueByKey(value: unknown, key: string): string | JSX.Elem } } -export function ShardFailureDescription(props: ShardFailure) { +export function ShardFailureDescription(props: estypes.ShardFailure) { const [showDetails, setShowDetails] = useState(false); const flattendReason = getFlattenedObject(props.reason); @@ -70,7 +70,7 @@ export function ShardFailureDescription(props: ShardFailure) { title: i18n.translate('data.search.searchSource.fetch.shardsFailedModal.indexTitle', { defaultMessage: 'Index', }), - description: props.index, + description: props.index ?? '', }, { title: i18n.translate('data.search.searchSource.fetch.shardsFailedModal.reasonTypeTitle', { @@ -84,7 +84,7 @@ export function ShardFailureDescription(props: ShardFailure) { title: i18n.translate('data.search.searchSource.fetch.shardsFailedModal.nodeTitle', { defaultMessage: 'Node', }), - description: props.node, + description: props.node ?? '', }, ...reasonItems, ] @@ -99,7 +99,6 @@ export function ShardFailureDescription(props: ShardFailure) { columnWidths={[1, 6]} listItems={items} compressed - className="shardFailureModal__desc" titleProps={{ className: 'shardFailureModal__descTitle' }} descriptionProps={{ className: 'shardFailureModal__descValue' }} /> diff --git a/src/plugins/data/public/shard_failure_modal/shard_failure_modal.test.tsx b/src/plugins/data/public/shard_failure_modal/shard_failure_modal.test.tsx deleted file mode 100644 index d4b30d5a1923b..0000000000000 --- a/src/plugins/data/public/shard_failure_modal/shard_failure_modal.test.tsx +++ /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 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 React from 'react'; -import { shallowWithIntl } from '@kbn/test-jest-helpers'; -import { ShardFailureModal } from './shard_failure_modal'; -import { shardFailureRequest } from './__mocks__/shard_failure_request'; -import { shardFailureResponse } from './__mocks__/shard_failure_response'; - -describe('ShardFailureModal', () => { - it('renders matching snapshot given valid properties', () => { - const component = shallowWithIntl( - - ); - - expect(component).toMatchSnapshot(); - }); -}); diff --git a/src/plugins/data/public/shard_failure_modal/shard_failure_modal.tsx b/src/plugins/data/public/shard_failure_modal/shard_failure_modal.tsx deleted file mode 100644 index 5dd7bebc2b77e..0000000000000 --- a/src/plugins/data/public/shard_failure_modal/shard_failure_modal.tsx +++ /dev/null @@ -1,125 +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 React from 'react'; -import { FormattedMessage } from '@kbn/i18n-react'; -import { i18n } from '@kbn/i18n'; -import { - EuiCodeBlock, - EuiTabbedContent, - EuiCopy, - EuiButton, - EuiModalBody, - EuiModalHeader, - EuiModalHeaderTitle, - EuiModalFooter, - EuiButtonEmpty, - EuiCallOut, -} from '@elastic/eui'; -import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { ShardFailureTable } from './shard_failure_table'; -import { ShardFailureRequest } from './shard_failure_types'; - -export interface Props { - onClose: () => void; - request: ShardFailureRequest; - response: estypes.SearchResponse; - title: string; -} - -export function ShardFailureModal({ request, response, title, onClose }: Props) { - if ( - !response || - !response._shards || - !Array.isArray((response._shards as any).failures) || - !request - ) { - // this should never ever happen, but just in case - return ( - - The ShardFailureModal component received invalid properties - - ); - } - const failures = (response._shards as any).failures; - const requestJSON = JSON.stringify(request, null, 2); - const responseJSON = JSON.stringify(response, null, 2); - - const tabs = [ - { - id: 'table', - name: i18n.translate( - 'data.search.searchSource.fetch.shardsFailedModal.tabHeaderShardFailures', - { - defaultMessage: 'Shard failures', - description: 'Name of the tab displaying shard failures', - } - ), - content: , - ['data-test-subj']: 'shardFailuresModalShardButton', - }, - { - id: 'json-request', - name: i18n.translate('data.search.searchSource.fetch.shardsFailedModal.tabHeaderRequest', { - defaultMessage: 'Request', - description: 'Name of the tab displaying the JSON request', - }), - content: ( - - {requestJSON} - - ), - ['data-test-subj']: 'shardFailuresModalRequestButton', - }, - { - id: 'json-response', - name: i18n.translate('data.search.searchSource.fetch.shardsFailedModal.tabHeaderResponse', { - defaultMessage: 'Response', - description: 'Name of the tab displaying the JSON response', - }), - content: ( - - {responseJSON} - - ), - ['data-test-subj']: 'shardFailuresModalResponseButton', - }, - ]; - - return ( - - - - {title} - - - - - - - - {(copy) => ( - - - - )} - - onClose()} fill data-test-subj="closeShardFailureModal"> - - - - - ); -} diff --git a/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.test.mocks.tsx b/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.test.mocks.tsx deleted file mode 100644 index 948905cf1ce90..0000000000000 --- a/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.test.mocks.tsx +++ /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. - */ - -import { setOverlays } from '../services'; -import { OverlayStart } from '@kbn/core/public'; - -export const openModal = jest.fn(); - -setOverlays({ - openModal, -} as unknown as OverlayStart); diff --git a/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.test.tsx b/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.test.tsx deleted file mode 100644 index 00f0315e69275..0000000000000 --- a/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.test.tsx +++ /dev/null @@ -1,35 +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 { openModal } from './shard_failure_open_modal_button.test.mocks'; -import React from 'react'; -import { themeServiceMock } from '@kbn/core/public/mocks'; -import { mountWithIntl } from '@kbn/test-jest-helpers'; -import ShardFailureOpenModalButton from './shard_failure_open_modal_button'; -import { shardFailureRequest } from './__mocks__/shard_failure_request'; -import { shardFailureResponse } from './__mocks__/shard_failure_response'; -import { findTestSubject } from '@elastic/eui/lib/test'; - -const theme = themeServiceMock.createStartContract(); - -describe('ShardFailureOpenModalButton', () => { - it('triggers the openModal function when "Show details" button is clicked', () => { - const component = mountWithIntl( - ({ - request: shardFailureRequest, - response: shardFailureResponse, - })} - theme={theme} - title="test" - /> - ); - findTestSubject(component, 'openShardFailureModalBtn').simulate('click'); - expect(openModal).toHaveBeenCalled(); - }); -}); diff --git a/src/plugins/data/public/shard_failure_modal/shard_failure_table.test.tsx b/src/plugins/data/public/shard_failure_modal/shard_failure_table.test.tsx index c4a53f850ab6a..567ad8ff80ac2 100644 --- a/src/plugins/data/public/shard_failure_modal/shard_failure_table.test.tsx +++ b/src/plugins/data/public/shard_failure_modal/shard_failure_table.test.tsx @@ -10,12 +10,12 @@ import React from 'react'; import { shallowWithIntl } from '@kbn/test-jest-helpers'; import { ShardFailureTable } from './shard_failure_table'; import { shardFailureResponse } from './__mocks__/shard_failure_response'; -import { ShardFailure } from './shard_failure_types'; describe('ShardFailureTable', () => { it('renders matching snapshot given valid properties', () => { - const failures = (shardFailureResponse._shards as any).failures as ShardFailure[]; - const component = shallowWithIntl(); + const component = shallowWithIntl( + + ); expect(component).toMatchSnapshot(); }); }); diff --git a/src/plugins/data/public/shard_failure_modal/shard_failure_table.tsx b/src/plugins/data/public/shard_failure_modal/shard_failure_table.tsx index ab9c376157100..cb4fed32f11eb 100644 --- a/src/plugins/data/public/shard_failure_modal/shard_failure_table.tsx +++ b/src/plugins/data/public/shard_failure_modal/shard_failure_table.tsx @@ -7,13 +7,13 @@ */ import React from 'react'; +import { estypes } from '@elastic/elasticsearch'; import { i18n } from '@kbn/i18n'; import { css } from '@emotion/react'; import { EuiInMemoryTable, EuiInMemoryTableProps, euiScreenReaderOnly } from '@elastic/eui'; import { ShardFailureDescription } from './shard_failure_description'; -import { ShardFailure } from './shard_failure_types'; -export interface ListItem extends ShardFailure { +export interface ListItem extends estypes.ShardFailure { id: string; } @@ -24,7 +24,7 @@ const SORTING: EuiInMemoryTableProps['sorting'] = { }, }; -export function ShardFailureTable({ failures }: { failures: ShardFailure[] }) { +export function ShardFailureTable({ failures }: { failures: estypes.ShardFailure[] }) { const itemList = failures.map((failure, idx) => ({ ...{ id: String(idx) }, ...failure })); const columns = [ diff --git a/src/plugins/data/public/shard_failure_modal/shard_failure_types.ts b/src/plugins/data/public/shard_failure_modal/shard_failure_types.ts deleted file mode 100644 index c6533f9f0a850..0000000000000 --- a/src/plugins/data/public/shard_failure_modal/shard_failure_types.ts +++ /dev/null @@ -1,33 +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 * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -export interface ShardFailureRequest { - docvalue_fields: string[]; - _source: unknown; - query: unknown; - script_fields: unknown; - sort: unknown; - stored_fields: string[]; -} - -export interface ShardFailure { - index: string; - node: string; - reason: { - caused_by: { - reason: string; - type: string; - }; - reason: string; - lang?: estypes.ScriptLanguage; - script?: string; - script_stack?: string[]; - type: string; - }; - shard: number; -} diff --git a/src/plugins/data/server/search/expressions/esaggs.test.ts b/src/plugins/data/server/search/expressions/esaggs.test.ts index 9954fb2457968..da903f6ff7101 100644 --- a/src/plugins/data/server/search/expressions/esaggs.test.ts +++ b/src/plugins/data/server/search/expressions/esaggs.test.ts @@ -131,7 +131,7 @@ describe('esaggs expression function - server', () => { query: undefined, searchSessionId: 'abc123', searchSourceService: startDependencies.searchSource, - disableShardWarnings: false, + disableWarningToasts: false, timeFields: args.timeFields, timeRange: undefined, }); diff --git a/src/plugins/data/server/search/expressions/esaggs.ts b/src/plugins/data/server/search/expressions/esaggs.ts index eedd1db8d0308..2e1afc0350957 100644 --- a/src/plugins/data/server/search/expressions/esaggs.ts +++ b/src/plugins/data/server/search/expressions/esaggs.ts @@ -72,7 +72,7 @@ export function getFunctionDefinition({ query: get(input, 'query', undefined) as any, searchSessionId: getSearchSessionId(), searchSourceService: searchSource, - disableShardWarnings: false, + disableWarningToasts: false, timeFields: args.timeFields, timeRange: get(input, 'timeRange', undefined), }) diff --git a/src/plugins/data/tsconfig.json b/src/plugins/data/tsconfig.json index 9d46f36ffd29c..81820900557d7 100644 --- a/src/plugins/data/tsconfig.json +++ b/src/plugins/data/tsconfig.json @@ -49,7 +49,8 @@ "@kbn/core-saved-objects-server", "@kbn/core-saved-objects-utils-server", "@kbn/data-service", - "@kbn/react-kibana-context-render" + "@kbn/react-kibana-context-render", + "@kbn/es-types" ], "exclude": [ "target/**/*", diff --git a/src/plugins/discover/common/constants.ts b/src/plugins/discover/common/constants.ts index e80f9d2449ebc..8ac1280592ff6 100644 --- a/src/plugins/discover/common/constants.ts +++ b/src/plugins/discover/common/constants.ts @@ -17,7 +17,6 @@ export enum VIEW_MODE { AGGREGATED_LEVEL = 'aggregated', } -export const DISABLE_SHARD_FAILURE_WARNING = true; export const getDefaultRowsPerPage = (uiSettings: IUiSettingsClient): number => { return parseInt(uiSettings.get(SAMPLE_ROWS_PER_PAGE_SETTING), 10) || DEFAULT_ROWS_PER_PAGE; }; diff --git a/src/plugins/discover/public/application/context/context_app.tsx b/src/plugins/discover/public/application/context/context_app.tsx index 355c82417f632..de1e0a23c4df2 100644 --- a/src/plugins/discover/public/application/context/context_app.tsx +++ b/src/plugins/discover/public/application/context/context_app.tsx @@ -18,7 +18,6 @@ import { useExecutionContext } from '@kbn/kibana-react-plugin/public'; import { generateFilters } from '@kbn/data-plugin/public'; import { i18n } from '@kbn/i18n'; import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; -import { removeInterceptedWarningDuplicates } from '@kbn/search-response-warnings'; import { DOC_TABLE_LEGACY, SEARCH_FIELDS_FROM_SOURCE, @@ -177,12 +176,11 @@ export const ContextApp = ({ dataView, anchorId, referrer }: ContextAppProps) => ); const interceptedWarnings = useMemo( - () => - removeInterceptedWarningDuplicates([ - ...(fetchedState.predecessorsInterceptedWarnings || []), - ...(fetchedState.anchorInterceptedWarnings || []), - ...(fetchedState.successorsInterceptedWarnings || []), - ]), + () => [ + ...(fetchedState.predecessorsInterceptedWarnings || []), + ...(fetchedState.anchorInterceptedWarnings || []), + ...(fetchedState.successorsInterceptedWarnings || []), + ], [ fetchedState.predecessorsInterceptedWarnings, fetchedState.anchorInterceptedWarnings, diff --git a/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.test.tsx b/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.test.tsx index 9ff64165f0f24..db0243e7f4ccf 100644 --- a/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.test.tsx +++ b/src/plugins/discover/public/application/context/hooks/use_context_app_fetch.test.tsx @@ -19,15 +19,15 @@ import { mockSuccessorHits, } from '../__mocks__/use_context_app_fetch'; import { dataViewWithTimefieldMock } from '../../../__mocks__/data_view_with_timefield'; -import { searchResponseWarningsMock } from '@kbn/search-response-warnings/src/__mocks__/search_response_warnings'; +import { searchResponseIncompleteWarningLocalCluster } from '@kbn/search-response-warnings/src/__mocks__/search_response_warnings'; import { createContextSearchSourceStub } from '../services/_stubs'; import { DataView } from '@kbn/data-views-plugin/public'; import { themeServiceMock } from '@kbn/core/public/mocks'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; -const mockInterceptedWarnings = searchResponseWarningsMock.map((originalWarning) => ({ - originalWarning, -})); +const mockInterceptedWarning = { + originalWarning: searchResponseIncompleteWarningLocalCluster, +}; const mockFilterManager = createFilterManagerMock(); @@ -44,9 +44,7 @@ jest.mock('../services/context', () => { } return { rows: type === 'predecessors' ? mockPredecessorHits : mockSuccessorHits, - interceptedWarnings: mockOverrideInterceptedWarnings - ? [mockInterceptedWarnings[type === 'predecessors' ? 0 : 1]] - : undefined, + interceptedWarnings: mockOverrideInterceptedWarnings ? [mockInterceptedWarning] : undefined, }; }, }; @@ -59,9 +57,7 @@ jest.mock('../services/anchor', () => ({ } return { anchorRow: mockAnchorHit, - interceptedWarnings: mockOverrideInterceptedWarnings - ? [mockInterceptedWarnings[2]] - : undefined, + interceptedWarnings: mockOverrideInterceptedWarnings ? [mockInterceptedWarning] : undefined, }; }, })); @@ -228,13 +224,11 @@ describe('test useContextAppFetch', () => { expect(result.current.fetchedState.predecessors).toEqual(mockPredecessorHits); expect(result.current.fetchedState.successors).toEqual(mockSuccessorHits); expect(result.current.fetchedState.predecessorsInterceptedWarnings).toEqual([ - mockInterceptedWarnings[0], + mockInterceptedWarning, ]); expect(result.current.fetchedState.successorsInterceptedWarnings).toEqual([ - mockInterceptedWarnings[1], - ]); - expect(result.current.fetchedState.anchorInterceptedWarnings).toEqual([ - mockInterceptedWarnings[2], + mockInterceptedWarning, ]); + expect(result.current.fetchedState.anchorInterceptedWarnings).toEqual([mockInterceptedWarning]); }); }); diff --git a/src/plugins/discover/public/application/context/services/anchor.test.ts b/src/plugins/discover/public/application/context/services/anchor.test.ts index 415b468f38afd..deb5a0ed5ca7a 100644 --- a/src/plugins/discover/public/application/context/services/anchor.test.ts +++ b/src/plugins/discover/public/application/context/services/anchor.test.ts @@ -10,7 +10,7 @@ import { SortDirection } from '@kbn/data-plugin/public'; import { createSearchSourceStub } from './_stubs'; import { fetchAnchor, updateSearchSource } from './anchor'; import { dataViewMock } from '@kbn/discover-utils/src/__mocks__'; -import { searchResponseTimeoutWarningMock } from '@kbn/search-response-warnings/src/__mocks__/search_response_warnings'; +import { searchResponseIncompleteWarningLocalCluster } from '@kbn/search-response-warnings/src/__mocks__/search_response_warnings'; import { savedSearchMock } from '../../../__mocks__/saved_search'; import { discoverServiceMock } from '../../../__mocks__/services'; @@ -206,7 +206,7 @@ describe('context app', function () { ).then(({ anchorRow, interceptedWarnings }) => { expect(anchorRow).toHaveProperty('raw._id', '1'); expect(anchorRow).toHaveProperty('isAnchor', true); - expect(interceptedWarnings).toBeUndefined(); + expect(interceptedWarnings).toEqual([]); }); }); @@ -216,20 +216,10 @@ describe('context app', function () { { _id: '3', _index: 't' }, ]); - const mockWarnings = [ - { - originalWarning: searchResponseTimeoutWarningMock, - }, - ]; - const services = discoverServiceMock; services.data.search.showWarnings = jest.fn((adapter, callback) => { // @ts-expect-error for empty meta - callback?.(mockWarnings[0].originalWarning, {}); - - // plus duplicates - // @ts-expect-error for empty meta - callback?.(mockWarnings[0].originalWarning, {}); + callback?.(searchResponseIncompleteWarningLocalCluster, {}); }); return fetchAnchor( @@ -242,7 +232,7 @@ describe('context app', function () { ).then(({ anchorRow, interceptedWarnings }) => { expect(anchorRow).toHaveProperty('raw._id', '1'); expect(anchorRow).toHaveProperty('isAnchor', true); - expect(interceptedWarnings).toEqual(mockWarnings); + expect(interceptedWarnings?.length).toBe(1); }); }); }); diff --git a/src/plugins/discover/public/application/context/services/anchor.ts b/src/plugins/discover/public/application/context/services/anchor.ts index daf99030201a4..f5d0f78a83441 100644 --- a/src/plugins/discover/public/application/context/services/anchor.ts +++ b/src/plugins/discover/public/application/context/services/anchor.ts @@ -17,7 +17,6 @@ import { type SearchResponseInterceptedWarning, } from '@kbn/search-response-warnings'; import type { DiscoverServices } from '../../../build_services'; -import { DISABLE_SHARD_FAILURE_WARNING } from '../../../../common/constants'; export async function fetchAnchor( anchorId: string, @@ -35,7 +34,7 @@ export async function fetchAnchor( const adapter = new RequestAdapter(); const { rawResponse } = await lastValueFrom( searchSource.fetch$({ - disableShardFailureWarning: DISABLE_SHARD_FAILURE_WARNING, + disableWarningToasts: true, inspector: { adapter, title: 'anchor', @@ -56,9 +55,6 @@ export async function fetchAnchor( interceptedWarnings: getSearchResponseInterceptedWarnings({ services, adapter, - options: { - disableShardFailureWarning: DISABLE_SHARD_FAILURE_WARNING, - }, }), }; } diff --git a/src/plugins/discover/public/application/context/services/context.successors.test.ts b/src/plugins/discover/public/application/context/services/context.successors.test.ts index 9c2a0120c2a72..54037a7071f06 100644 --- a/src/plugins/discover/public/application/context/services/context.successors.test.ts +++ b/src/plugins/discover/public/application/context/services/context.successors.test.ts @@ -16,6 +16,7 @@ import { Query } from '@kbn/es-query'; import { fetchSurroundingDocs, SurrDocType } from './context'; import { buildDataTableRecord, buildDataTableRecordList } from '@kbn/discover-utils'; import { discoverServiceMock } from '../../../__mocks__/services'; +import { searchResponseIncompleteWarningLocalCluster } from '@kbn/search-response-warnings/src/__mocks__/search_response_warnings'; const MS_PER_DAY = 24 * 60 * 60 * 1000; const ANCHOR_TIMESTAMP = new Date(MS_PER_DAY).toJSON(); @@ -257,28 +258,13 @@ describe('context successors', function () { const removeFieldsSpy = mockSearchSource.removeField.withArgs('fieldsFromSource'); expect(removeFieldsSpy.calledOnce).toBe(true); expect(setFieldsSpy.calledOnce).toBe(true); - expect(interceptedWarnings).toBeUndefined(); + expect(interceptedWarnings).toEqual([]); } ); }); }); describe('function fetchSuccessors with shard failures', function () { - const mockWarnings = [ - { - originalWarning: { - message: 'Data might be incomplete because your request timed out 1', - type: 'timed_out', - }, - }, - { - originalWarning: { - message: 'Data might be incomplete because your request timed out 2', - type: 'timed_out', - }, - }, - ]; - beforeEach(() => { mockSearchSource = createContextSearchSourceStub('@timestamp'); @@ -288,11 +274,7 @@ describe('context successors', function () { createEmpty: jest.fn().mockImplementation(() => mockSearchSource), }, showWarnings: jest.fn((adapter, callback) => { - callback(mockWarnings[0].originalWarning, {}); - callback(mockWarnings[1].originalWarning, {}); - // plus duplicates - callback(mockWarnings[0].originalWarning, {}); - callback(mockWarnings[1].originalWarning, {}); + callback(searchResponseIncompleteWarningLocalCluster, {}); }), }, } as unknown as DataPublicPluginStart; @@ -345,7 +327,7 @@ describe('context successors', function () { buildDataTableRecordList(mockSearchSource._stubHits.slice(-3), dataView) ); expect(dataPluginMock.search.showWarnings).toHaveBeenCalledTimes(1); - expect(interceptedWarnings).toEqual(mockWarnings); + expect(interceptedWarnings?.length).toBe(1); } ); }); diff --git a/src/plugins/discover/public/application/context/services/context.ts b/src/plugins/discover/public/application/context/services/context.ts index df47356394821..67a477a8b9a03 100644 --- a/src/plugins/discover/public/application/context/services/context.ts +++ b/src/plugins/discover/public/application/context/services/context.ts @@ -9,10 +9,7 @@ import type { Filter } from '@kbn/es-query'; import { DataView } from '@kbn/data-views-plugin/public'; import { DataPublicPluginStart, ISearchSource } from '@kbn/data-plugin/public'; import type { DataTableRecord } from '@kbn/discover-utils/types'; -import { - removeInterceptedWarningDuplicates, - type SearchResponseInterceptedWarning, -} from '@kbn/search-response-warnings'; +import type { SearchResponseInterceptedWarning } from '@kbn/search-response-warnings'; import { reverseSortDir, SortDirection } from '../utils/sorting'; import { convertIsoToMillis, extractNanos } from '../utils/date_conversion'; import { fetchHitsInInterval } from '../utils/fetch_hits_in_interval'; @@ -126,7 +123,7 @@ export async function fetchSurroundingDocs( return { rows, - interceptedWarnings: removeInterceptedWarningDuplicates(interceptedWarnings), + interceptedWarnings, }; } diff --git a/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts b/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts index c6fed56de4c19..d9a06e08fbada 100644 --- a/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts +++ b/src/plugins/discover/public/application/context/utils/fetch_hits_in_interval.ts @@ -17,7 +17,6 @@ import { import { RequestAdapter } from '@kbn/inspector-plugin/common'; import { convertTimeValueToIso } from './date_conversion'; import { IntervalValue } from './generate_intervals'; -import { DISABLE_SHARD_FAILURE_WARNING } from '../../../../common/constants'; import type { SurrDocType } from '../services/context'; import type { DiscoverServices } from '../../../build_services'; @@ -91,7 +90,7 @@ export async function fetchHitsInInterval( .setField('sort', sort) .setField('version', true) .fetch$({ - disableShardFailureWarning: DISABLE_SHARD_FAILURE_WARNING, + disableWarningToasts: true, inspector: { adapter, title: type, @@ -107,9 +106,6 @@ export async function fetchHitsInInterval( interceptedWarnings: getSearchResponseInterceptedWarnings({ services, adapter, - options: { - disableShardFailureWarning: DISABLE_SHARD_FAILURE_WARNING, - }, }), }; } diff --git a/src/plugins/discover/public/application/main/hooks/use_saved_search_messages.test.ts b/src/plugins/discover/public/application/main/hooks/use_saved_search_messages.test.ts index 7b96c2673f3eb..80fe8b9920227 100644 --- a/src/plugins/discover/public/application/main/hooks/use_saved_search_messages.test.ts +++ b/src/plugins/discover/public/application/main/hooks/use_saved_search_messages.test.ts @@ -26,7 +26,7 @@ import { import { filter } from 'rxjs/operators'; import { dataViewMock, esHitsMockWithSort } from '@kbn/discover-utils/src/__mocks__'; import { buildDataTableRecord } from '@kbn/discover-utils'; -import { searchResponseWarningsMock } from '@kbn/search-response-warnings/src/__mocks__/search_response_warnings'; +import { searchResponseIncompleteWarningLocalCluster } from '@kbn/search-response-warnings/src/__mocks__/search_response_warnings'; describe('test useSavedSearch message generators', () => { test('sendCompleteMsg', (done) => { @@ -103,15 +103,13 @@ describe('test useSavedSearch message generators', () => { if (value.fetchStatus !== FetchStatus.LOADING_MORE) { expect(value.fetchStatus).toBe(FetchStatus.COMPLETE); expect(value.result).toStrictEqual([...initialRecords, ...moreRecords]); - expect(value.interceptedWarnings).toHaveLength(searchResponseWarningsMock.length); + expect(value.interceptedWarnings).toHaveLength(1); done(); } }); sendLoadingMoreFinishedMsg(documents$, { moreRecords, - interceptedWarnings: searchResponseWarningsMock.map((warning) => ({ - originalWarning: warning, - })), + interceptedWarnings: [{ originalWarning: searchResponseIncompleteWarningLocalCluster }], }); }); test('sendLoadingMoreFinishedMsg after an exception', (done) => { @@ -121,9 +119,7 @@ describe('test useSavedSearch message generators', () => { const documents$ = new BehaviorSubject({ fetchStatus: FetchStatus.LOADING_MORE, result: initialRecords, - interceptedWarnings: searchResponseWarningsMock.map((warning) => ({ - originalWarning: warning, - })), + interceptedWarnings: [{ originalWarning: searchResponseIncompleteWarningLocalCluster }], }); documents$.subscribe((value) => { if (value.fetchStatus !== FetchStatus.LOADING_MORE) { diff --git a/src/plugins/discover/public/application/main/utils/fetch_all.test.ts b/src/plugins/discover/public/application/main/utils/fetch_all.test.ts index ba8a09e17e3d1..6de9781b0b58b 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_all.test.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_all.test.ts @@ -25,7 +25,7 @@ import { fetchDocuments } from './fetch_documents'; import { fetchTextBased } from './fetch_text_based'; import { buildDataTableRecord } from '@kbn/discover-utils'; import { dataViewMock, esHitsMockWithSort } from '@kbn/discover-utils/src/__mocks__'; -import { searchResponseWarningsMock } from '@kbn/search-response-warnings/src/__mocks__/search_response_warnings'; +import { searchResponseIncompleteWarningLocalCluster } from '@kbn/search-response-warnings/src/__mocks__/search_response_warnings'; jest.mock('./fetch_documents', () => ({ fetchDocuments: jest.fn().mockResolvedValue([]), @@ -296,9 +296,11 @@ describe('test fetchAll', () => { const initialRecords = [records[0], records[1]]; const moreRecords = [records[2], records[3]]; - const interceptedWarnings = searchResponseWarningsMock.map((warning) => ({ - originalWarning: warning, - })); + const interceptedWarnings = [ + { + originalWarning: searchResponseIncompleteWarningLocalCluster, + }, + ]; test('should add more records', async () => { const collectDocuments = subjectCollector(subjects.documents$); diff --git a/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts b/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts index f850b283b3491..cbc62a3cd6068 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_documents.test.ts @@ -37,17 +37,20 @@ describe('test fetchDocuments', () => { const documents = hits.map((hit) => buildDataTableRecord(hit, dataViewMock)); savedSearchMock.searchSource.fetch$ = () => of({ rawResponse: { hits: { hits } } } as IKibanaSearchResponse>); - expect(fetchDocuments(savedSearchMock.searchSource, getDeps())).resolves.toEqual({ + expect(await fetchDocuments(savedSearchMock.searchSource, getDeps())).toEqual({ + interceptedWarnings: [], records: documents, }); }); - test('rejects on query failure', () => { + test('rejects on query failure', async () => { savedSearchMock.searchSource.fetch$ = () => throwErrorRx(() => new Error('Oh noes!')); - expect(fetchDocuments(savedSearchMock.searchSource, getDeps())).rejects.toEqual( - new Error('Oh noes!') - ); + try { + await fetchDocuments(savedSearchMock.searchSource, getDeps()); + } catch (e) { + expect(e).toEqual(new Error('Oh noes!')); + } }); test('passes a correct session id', async () => { @@ -66,7 +69,8 @@ describe('test fetchDocuments', () => { jest.spyOn(searchSourceRegular, 'fetch$'); - expect(fetchDocuments(searchSourceRegular, deps)).resolves.toEqual({ + expect(await fetchDocuments(searchSourceRegular, deps)).toEqual({ + interceptedWarnings: [], records: documents, }); @@ -84,7 +88,8 @@ describe('test fetchDocuments', () => { jest.spyOn(searchSourceForLoadMore, 'fetch$'); - expect(fetchDocuments(searchSourceForLoadMore, deps)).resolves.toEqual({ + expect(await fetchDocuments(searchSourceForLoadMore, deps)).toEqual({ + interceptedWarnings: [], records: documents, }); diff --git a/src/plugins/discover/public/application/main/utils/fetch_documents.ts b/src/plugins/discover/public/application/main/utils/fetch_documents.ts index 892da705f4b8f..e849b347a22ff 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_documents.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_documents.ts @@ -13,7 +13,6 @@ import { SAMPLE_SIZE_SETTING, buildDataTableRecordList } from '@kbn/discover-uti import type { EsHitRecord } from '@kbn/discover-utils/types'; import { getSearchResponseInterceptedWarnings } from '@kbn/search-response-warnings'; import type { RecordsFetchResponse } from '../../types'; -import { DISABLE_SHARD_FAILURE_WARNING } from '../../../../common/constants'; import { FetchDeps } from './fetch_all'; /** @@ -60,7 +59,7 @@ export const fetchDocuments = ( }), }, executionContext, - disableShardFailureWarning: DISABLE_SHARD_FAILURE_WARNING, + disableWarningToasts: true, }) .pipe( filter((res) => isCompleteResponse(res)), @@ -75,9 +74,6 @@ export const fetchDocuments = ( ? getSearchResponseInterceptedWarnings({ services, adapter, - options: { - disableShardFailureWarning: DISABLE_SHARD_FAILURE_WARNING, - }, }) : []; diff --git a/src/plugins/discover/public/components/common/error_callout.tsx b/src/plugins/discover/public/components/common/error_callout.tsx index d0e914a81e851..84b5b979c0249 100644 --- a/src/plugins/discover/public/components/common/error_callout.tsx +++ b/src/plugins/discover/public/components/common/error_callout.tsx @@ -41,7 +41,7 @@ export const ErrorCallout = ({ const { euiTheme } = useEuiTheme(); const showErrorMessage = i18n.translate('discover.errorCalloutShowErrorMessage', { - defaultMessage: 'Show details', + defaultMessage: 'View details', }); const overrideDisplay = getSearchErrorOverrideDisplay({ diff --git a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx index 9a44ae3834f7c..6b4856d3a298f 100644 --- a/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx +++ b/src/plugins/discover/public/embeddable/saved_search_embeddable.tsx @@ -62,11 +62,7 @@ import { import type { UnifiedDataTableProps } from '@kbn/unified-data-table'; import type { UnifiedDataTableSettings } from '@kbn/unified-data-table'; import { columnActions } from '@kbn/unified-data-table'; -import { - VIEW_MODE, - DISABLE_SHARD_FAILURE_WARNING, - getDefaultRowsPerPage, -} from '../../common/constants'; +import { VIEW_MODE, getDefaultRowsPerPage } from '../../common/constants'; import type { ISearchEmbeddable, SearchInput, SearchOutput } from './types'; import type { DiscoverServices } from '../build_services'; import { getSortForEmbeddable, SortPair } from '../utils/sorting'; @@ -371,7 +367,7 @@ export class SavedSearchEmbeddable }), }, executionContext, - disableShardFailureWarning: DISABLE_SHARD_FAILURE_WARNING, + disableWarningToasts: true, }) ); @@ -379,9 +375,6 @@ export class SavedSearchEmbeddable searchProps.interceptedWarnings = getSearchResponseInterceptedWarnings({ services: this.services, adapter: this.inspectorAdapters.requests, - options: { - disableShardFailureWarning: DISABLE_SHARD_FAILURE_WARNING, - }, }); } diff --git a/src/plugins/unified_histogram/public/chart/hooks/use_total_hits.ts b/src/plugins/unified_histogram/public/chart/hooks/use_total_hits.ts index c260d3171697b..2beed34b3d919 100644 --- a/src/plugins/unified_histogram/public/chart/hooks/use_total_hits.ts +++ b/src/plugins/unified_histogram/public/chart/hooks/use_total_hits.ts @@ -206,7 +206,7 @@ const fetchTotalHitsSearchSource = async ({ executionContext: { description: 'fetch total hits', }, - disableShardFailureWarning: true, // TODO: show warnings as a badge next to total hits number + disableWarningToasts: true, // TODO: show warnings as a badge next to total hits number }) .pipe( filter((res) => isCompleteResponse(res)), diff --git a/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx b/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx index 9d34d2fb26ca6..735c5e6572d43 100644 --- a/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx +++ b/src/plugins/visualizations/public/embeddable/visualize_embeddable.tsx @@ -19,6 +19,7 @@ import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; import { TimefilterContract } from '@kbn/data-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; import { Warnings } from '@kbn/charts-plugin/public'; +import { hasUnsupportedDownsampledAggregationFailure } from '@kbn/search-response-warnings'; import { Adapters, AttributeService, @@ -351,11 +352,13 @@ export class VisualizeEmbeddable this.deps .start() .plugins.data.search.showWarnings(this.getInspectorAdapters()!.requests!, (warning) => { - if ( - warning.type === 'shard_failure' && - warning.reason.type === 'unsupported_aggregation_on_downsampled_index' - ) { - warnings.push(warning.reason.reason || warning.message); + if (hasUnsupportedDownsampledAggregationFailure(warning)) { + warnings.push( + i18n.translate('visualizations.embeddable.tsdbRollupWarning', { + defaultMessage: + 'Visualization uses a function that is unsupported by rolled up data. Select a different function or change the time range.', + }) + ); return true; } if (this.vis.type.suppressWarnings?.()) { @@ -582,7 +585,7 @@ export class VisualizeEmbeddable timeRange: this.timeRange, query: this.input.query, filters: this.input.filters, - disableShardWarnings: true, + disableWarningToasts: true, }, variables: { embeddableTitle: this.getTitle(), diff --git a/src/plugins/visualizations/tsconfig.json b/src/plugins/visualizations/tsconfig.json index e643d9fa1fd61..a835f3151c60c 100644 --- a/src/plugins/visualizations/tsconfig.json +++ b/src/plugins/visualizations/tsconfig.json @@ -63,7 +63,8 @@ "@kbn/content-management-table-list-view", "@kbn/content-management-utils", "@kbn/serverless", - "@kbn/no-data-page-plugin" + "@kbn/no-data-page-plugin", + "@kbn/search-response-warnings" ], "exclude": [ "target/**/*", diff --git a/test/examples/search/warnings.ts b/test/examples/search/warnings.ts index 5ec4f59586a13..dee941b63ef5f 100644 --- a/test/examples/search/warnings.ts +++ b/test/examples/search/warnings.ts @@ -100,7 +100,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.common.clearAllToasts(); }); - it('shows shard failure warning notifications by default', async () => { + it('should show search warnings as toasts', async () => { await testSubjects.click('searchSourceWithOther'); // wait for response - toasts appear before the response is rendered @@ -113,30 +113,25 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // toasts const toasts = await find.allByCssSelector(toastsSelector); expect(toasts.length).to.be(2); - const expects = ['2 of 4 shards failed', 'Query result']; + const expects = ['The data might be incomplete or wrong.', 'Query result']; await asyncForEach(toasts, async (t, index) => { expect(await t.getVisibleText()).to.eql(expects[index]); }); // click "see full error" button in the toast - const [openShardModalButton] = await testSubjects.findAll('openShardFailureModalBtn'); + const [openShardModalButton] = await testSubjects.findAll('openIncompleteResultsModalBtn'); await openShardModalButton.click(); - await retry.waitFor('modal title visible', async () => { - const modalHeader = await testSubjects.find('shardFailureModalTitle'); - return (await modalHeader.getVisibleText()) === '2 of 4 shards failed'; - }); - // request - await testSubjects.click('shardFailuresModalRequestButton'); - const requestBlock = await testSubjects.find('shardsFailedModalRequestBlock'); + await testSubjects.click('showRequestButton'); + const requestBlock = await testSubjects.find('incompleteResultsModalRequestBlock'); expect(await requestBlock.getVisibleText()).to.contain(testRollupField); // response - await testSubjects.click('shardFailuresModalResponseButton'); - const responseBlock = await testSubjects.find('shardsFailedModalResponseBlock'); + await testSubjects.click('showResponseButton'); + const responseBlock = await testSubjects.find('incompleteResultsModalResponseBlock'); expect(await responseBlock.getVisibleText()).to.contain(shardFailureReason); - await testSubjects.click('closeShardFailureModal'); + await testSubjects.click('closeIncompleteResultsModal'); // response tab assert(response && response._shards.failures); @@ -154,7 +149,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(warnings).to.eql([]); }); - it('able to handle shard failure warnings and prevent default notifications', async () => { + it('should show search warnings in results tab', async () => { await testSubjects.click('searchSourceWithoutOther'); // wait for toasts - toasts appear after the response is rendered @@ -163,53 +158,15 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { toasts = await find.allByCssSelector(toastsSelector); expect(toasts.length).to.be(2); }); - const expects = ['Query result', '2 of 4 shards failed']; + const expects = ['The data might be incomplete or wrong.', 'Query result']; await asyncForEach(toasts, async (t, index) => { expect(await t.getVisibleText()).to.eql(expects[index]); }); - // click "see full error" button in the toast - const [openShardModalButton] = await testSubjects.findAll('openShardFailureModalBtn'); - await openShardModalButton.click(); - await testSubjects.exists('shardFailureModalTitle'); - - await retry.waitFor('modal title visible', async () => { - const modalHeader = await testSubjects.find('shardFailureModalTitle'); - return (await modalHeader.getVisibleText()) === '2 of 4 shards failed'; - }); - - // request - await testSubjects.click('shardFailuresModalRequestButton'); - const requestBlock = await testSubjects.find('shardsFailedModalRequestBlock'); - expect(await requestBlock.getVisibleText()).to.contain(testRollupField); - // response - await testSubjects.click('shardFailuresModalResponseButton'); - const responseBlock = await testSubjects.find('shardsFailedModalResponseBlock'); - expect(await responseBlock.getVisibleText()).to.contain(shardFailureReason); - - await testSubjects.click('closeShardFailureModal'); - - // response tab - const response = await getTestJson('responseTab', 'responseCodeBlock'); - expect(response._shards.total).to.be(4); - expect(response._shards.successful).to.be(2); - expect(response._shards.skipped).to.be(0); - expect(response._shards.failed).to.be(2); - expect(response._shards.failures.length).to.equal(1); - expect(response._shards.failures[0].index).to.equal(testRollupIndex); - expect(response._shards.failures[0].reason.type).to.equal(shardFailureType); - expect(response._shards.failures[0].reason.reason).to.equal(shardFailureReason); - // warnings tab const warnings = await getTestJson('warningsTab', 'warningsCodeBlock'); - expect(warnings).to.eql([ - { - type: 'shard_failure', - message: '2 of 4 shards failed', - reason: { reason: shardFailureReason, type: shardFailureType }, - text: 'The data might be incomplete or wrong.', - }, - ]); + expect(warnings.length).to.be(1); + expect(warnings[0].type).to.be('incomplete'); }); }); } diff --git a/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx b/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx index 51ed27f328838..88f6c67113bce 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/form_based.tsx @@ -64,7 +64,7 @@ import { import { getFiltersInLayer, - getShardFailuresWarningMessages, + getSearchWarningMessages, getVisualDefaultsForLayer, isColumnInvalid, cloneLayer, @@ -811,7 +811,7 @@ export function getFormBasedDatasource({ }, getSearchWarningMessages: (state, warning, request, response) => { - return [...getShardFailuresWarningMessages(state, warning, request, response, core.theme)]; + return [...getSearchWarningMessages(state, warning, request, response, core.theme)]; }, checkIntegrity: (state, indexPatterns) => { diff --git a/x-pack/plugins/lens/public/datasources/form_based/utils.tsx b/x-pack/plugins/lens/public/datasources/form_based/utils.tsx index 33c60b89f3ce4..73caafa33fc8e 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/utils.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/utils.tsx @@ -9,6 +9,7 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import type { DocLinksStart, ThemeServiceStart } from '@kbn/core/public'; +import { hasUnsupportedDownsampledAggregationFailure } from '@kbn/search-response-warnings'; import type { DatatableUtilitiesService } from '@kbn/data-plugin/common'; import { TimeRange } from '@kbn/es-query'; import { EuiLink, EuiSpacer, EuiText } from '@elastic/eui'; @@ -18,11 +19,7 @@ import { groupBy, escape, uniq, uniqBy } from 'lodash'; import type { Query } from '@kbn/data-plugin/common'; import { SearchRequest } from '@kbn/data-plugin/common'; -import { - SearchResponseWarning, - ShardFailureOpenModalButton, - ShardFailureRequest, -} from '@kbn/data-plugin/public'; +import { SearchResponseWarning, OpenIncompleteResultsModalButton } from '@kbn/data-plugin/public'; import { estypes } from '@elastic/elasticsearch'; import { isQueryValid } from '@kbn/visualization-ui-components'; @@ -260,7 +257,7 @@ const accuracyModeEnabledWarning = ( ), }); -export function getShardFailuresWarningMessages( +export function getSearchWarningMessages( state: FormBasedPersistedState, warning: SearchResponseWarning, request: SearchRequest, @@ -268,10 +265,9 @@ export function getShardFailuresWarningMessages( theme: ThemeServiceStart ): UserMessage[] { if (state) { - if (warning.type === 'shard_failure') { - switch (warning.reason.type) { - case 'unsupported_aggregation_on_downsampled_index': - return Object.values(state.layers).flatMap((layer) => + if (warning.type === 'incomplete') { + return hasUnsupportedDownsampledAggregationFailure(warning) + ? Object.values(state.layers).flatMap((layer) => uniq( Object.values(layer.columns) .filter((col) => @@ -302,40 +298,33 @@ export function getShardFailuresWarningMessages( }), } as UserMessage) ) - ); - default: - return [ + ) + : [ { - uniqueId: `shard_failure`, + uniqueId: `incomplete`, severity: 'warning', fixableInEditor: true, displayLocations: [{ id: 'toolbar' }, { id: 'embeddableBadge' }], shortMessage: '', longMessage: ( <> - - {warning.message} -

    {warning.text}

    -
    + {warning.message} - {warning.text ? ( - ({ - request: request as ShardFailureRequest, - response, - })} - color="primary" - isButtonEmpty={true} - /> - ) : null} + ({ + request, + response, + })} + color="primary" + isButtonEmpty={true} + /> ), } as UserMessage, ]; - } } } return []; diff --git a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.tsx b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.tsx index 4e66763b54a94..6af4fe67c0622 100644 --- a/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.tsx +++ b/x-pack/plugins/lens/public/editor_frame_service/editor_frame/workspace_panel/workspace_panel.tsx @@ -729,7 +729,7 @@ export const VisualizationWrapper = ({ to: context.dateRange.toDate, }, filters: context.filters, - disableShardWarnings: true, + disableWarningToasts: true, }), [context] ); diff --git a/x-pack/plugins/lens/public/embeddable/embeddable.tsx b/x-pack/plugins/lens/public/embeddable/embeddable.tsx index 67dea2f98231c..67764b46f6609 100644 --- a/x-pack/plugins/lens/public/embeddable/embeddable.tsx +++ b/x-pack/plugins/lens/public/embeddable/embeddable.tsx @@ -1196,7 +1196,7 @@ export class Embeddable this.savedVis.state.filters, this.savedVis.references ), - disableShardWarnings: true, + disableWarningToasts: true, }; if (input.query) { diff --git a/x-pack/plugins/lens/public/state_management/selectors.ts b/x-pack/plugins/lens/public/state_management/selectors.ts index 407aacba9e4a2..6bf40638554f9 100644 --- a/x-pack/plugins/lens/public/state_management/selectors.ts +++ b/x-pack/plugins/lens/public/state_management/selectors.ts @@ -62,7 +62,7 @@ export const selectExecutionContextSearch = createSelector(selectExecutionContex to: res.dateRange.toDate, }, filters: res.filters, - disableShardWarnings: true, + disableWarningToasts: true, })); const selectInjectedDependencies = (_state: LensState, dependencies: unknown) => dependencies; diff --git a/x-pack/plugins/lens/public/utils.ts b/x-pack/plugins/lens/public/utils.ts index b1deface2cd77..90011c6bad735 100644 --- a/x-pack/plugins/lens/public/utils.ts +++ b/x-pack/plugins/lens/public/utils.ts @@ -349,29 +349,26 @@ export const getSearchWarningMessages = ( searchService: ISearchStart; } ): UserMessage[] => { - const warningsMap: Map = new Map(); + const userMessages: UserMessage[] = []; deps.searchService.showWarnings(adapter, (warning, meta) => { - const { request, response, requestId } = meta; + const { request, response } = meta; - const warningMessages = datasource.getSearchWarningMessages?.( + const userMessagesFromWarning = datasource.getSearchWarningMessages?.( state, warning, request, response ); - if (warningMessages?.length) { - const key = (requestId ?? '') + warning.type + warning.reason?.type ?? ''; - if (!warningsMap.has(key)) { - warningsMap.set(key, warningMessages); - } + if (userMessagesFromWarning?.length) { + userMessages.push(...userMessagesFromWarning); return true; } return false; }); - return [...warningsMap.values()].flat(); + return userMessages; }; function getSafeLabel(label: string) { diff --git a/x-pack/plugins/lens/tsconfig.json b/x-pack/plugins/lens/tsconfig.json index 484734f1ae38f..ca536dc187c3f 100644 --- a/x-pack/plugins/lens/tsconfig.json +++ b/x-pack/plugins/lens/tsconfig.json @@ -86,6 +86,7 @@ "@kbn/content-management-utils", "@kbn/serverless", "@kbn/ebt-tools", + "@kbn/search-response-warnings", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 7d74a3369d08a..4f369e7e36f82 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -1317,7 +1317,6 @@ "data.search.aggs.rareTerms.aggTypesLabel": "Termes rares de {fieldName}", "data.search.es_search.queryTimeValue": "{queryTime} ms", "data.search.functions.geoBoundingBox.arguments.error": "Au moins un des groupes de paramètres suivants doit être fourni : {parameters}.", - "data.search.searchSource.fetch.shardsFailedNotificationMessage": "Échec de {shardsFailed} des {shardsTotal} partitions", "data.search.searchSource.indexPatternIdDescription": "ID dans l'index {kibanaIndexPattern}.", "data.search.searchSource.queryTimeValue": "{queryTime} ms", "data.search.searchSource.requestTimeValue": "{requestTime} ms", @@ -2064,15 +2063,7 @@ "data.search.searchSource.dataViewDescription": "La vue de données qui a été interrogée.", "data.search.searchSource.dataViewIdLabel": "ID de vue de données", "data.search.searchSource.dataViewLabel": "Vue de données", - "data.search.searchSource.fetch.requestTimedOutNotificationMessage": "Les données peuvent être incomplètes parce que votre requête est arrivée à échéance.", - "data.search.searchSource.fetch.shardsFailedModal.close": "Fermer", - "data.search.searchSource.fetch.shardsFailedModal.copyToClipboard": "Copier la réponse dans le presse-papiers", - "data.search.searchSource.fetch.shardsFailedModal.showDetails": "Afficher les détails", - "data.search.searchSource.fetch.shardsFailedModal.tabHeaderRequest": "Requête", - "data.search.searchSource.fetch.shardsFailedModal.tabHeaderResponse": "Réponse", - "data.search.searchSource.fetch.shardsFailedModal.tabHeaderShardFailures": "Échecs de partition", "data.search.searchSource.fetch.shardsFailedModal.tableColReason": "Raison", - "data.search.searchSource.fetch.shardsFailedNotificationDescription": "Les données peuvent être incomplètes ou erronées.", "data.search.searchSource.hitsDescription": "Le nombre de documents renvoyés par la requête.", "data.search.searchSource.hitsLabel": "Résultats", "data.search.searchSource.hitsTotalDescription": "Le nombre de documents correspondant à la requête.", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index d518dba93269b..b38dac7918bc6 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -1331,7 +1331,6 @@ "data.search.aggs.rareTerms.aggTypesLabel": "{fieldName}の希少な用語", "data.search.es_search.queryTimeValue": "{queryTime}ms", "data.search.functions.geoBoundingBox.arguments.error": "次のパラメーターのグループの1つ以上を指定する必要があります:{parameters}。", - "data.search.searchSource.fetch.shardsFailedNotificationMessage": "{shardsTotal}件中{shardsFailed}件のシャードでエラーが発生しました", "data.search.searchSource.indexPatternIdDescription": "{kibanaIndexPattern}インデックス内のIDです。", "data.search.searchSource.queryTimeValue": "{queryTime}ms", "data.search.searchSource.requestTimeValue": "{requestTime}ms", @@ -2078,15 +2077,7 @@ "data.search.searchSource.dataViewDescription": "照会されたデータビュー。", "data.search.searchSource.dataViewIdLabel": "データビューID", "data.search.searchSource.dataViewLabel": "データビュー", - "data.search.searchSource.fetch.requestTimedOutNotificationMessage": "リクエストがタイムアウトしたため、データが不完全な可能性があります", - "data.search.searchSource.fetch.shardsFailedModal.close": "閉じる", - "data.search.searchSource.fetch.shardsFailedModal.copyToClipboard": "応答をクリップボードにコピー", - "data.search.searchSource.fetch.shardsFailedModal.showDetails": "詳細を表示", - "data.search.searchSource.fetch.shardsFailedModal.tabHeaderRequest": "リクエスト", - "data.search.searchSource.fetch.shardsFailedModal.tabHeaderResponse": "応答", - "data.search.searchSource.fetch.shardsFailedModal.tabHeaderShardFailures": "シャードエラー", "data.search.searchSource.fetch.shardsFailedModal.tableColReason": "理由", - "data.search.searchSource.fetch.shardsFailedNotificationDescription": "データが不完全か誤りの可能性があります。", "data.search.searchSource.hitsDescription": "クエリにより返されたドキュメントの数です。", "data.search.searchSource.hitsLabel": "ヒット数", "data.search.searchSource.hitsTotalDescription": "クエリに一致するドキュメントの数です。", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 99b6008b94bb4..b56dc397608bd 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -1331,7 +1331,6 @@ "data.search.aggs.rareTerms.aggTypesLabel": "{fieldName} 的稀有词", "data.search.es_search.queryTimeValue": "{queryTime}ms", "data.search.functions.geoBoundingBox.arguments.error": "必须至少提供一个以下参数组:{parameters}。", - "data.search.searchSource.fetch.shardsFailedNotificationMessage": "{shardsTotal} 个分片有 {shardsFailed} 个失败", "data.search.searchSource.indexPatternIdDescription": "{kibanaIndexPattern} 索引中的 ID。", "data.search.searchSource.queryTimeValue": "{queryTime}ms", "data.search.searchSource.requestTimeValue": "{requestTime}ms", @@ -2078,15 +2077,7 @@ "data.search.searchSource.dataViewDescription": "被查询的数据视图。", "data.search.searchSource.dataViewIdLabel": "数据视图 ID", "data.search.searchSource.dataViewLabel": "数据视图", - "data.search.searchSource.fetch.requestTimedOutNotificationMessage": "由于您的请求超时,数据可能不完整", - "data.search.searchSource.fetch.shardsFailedModal.close": "关闭", - "data.search.searchSource.fetch.shardsFailedModal.copyToClipboard": "将响应复制到剪贴板", - "data.search.searchSource.fetch.shardsFailedModal.showDetails": "显示详情", - "data.search.searchSource.fetch.shardsFailedModal.tabHeaderRequest": "请求", - "data.search.searchSource.fetch.shardsFailedModal.tabHeaderResponse": "响应", - "data.search.searchSource.fetch.shardsFailedModal.tabHeaderShardFailures": "分片错误", "data.search.searchSource.fetch.shardsFailedModal.tableColReason": "原因", - "data.search.searchSource.fetch.shardsFailedNotificationDescription": "数据可能不完整或有错误。", "data.search.searchSource.hitsDescription": "查询返回的文档数目。", "data.search.searchSource.hitsLabel": "命中数", "data.search.searchSource.hitsTotalDescription": "与查询匹配的文档数目。", diff --git a/x-pack/test/functional/apps/discover/async_scripted_fields.js b/x-pack/test/functional/apps/discover/async_scripted_fields.js index 0d48f42c5ba1e..d86298405b72d 100644 --- a/x-pack/test/functional/apps/discover/async_scripted_fields.js +++ b/x-pack/test/functional/apps/discover/async_scripted_fields.js @@ -27,7 +27,7 @@ export default function ({ getService, getPageObjects }) { const security = getService('security'); const dashboardAddPanel = getService('dashboardAddPanel'); - describe('async search with scripted fields', function () { + describe('search with scripted fields', function () { this.tags(['skipFirefox']); before(async function () { @@ -51,7 +51,7 @@ export default function ({ getService, getPageObjects }) { await security.testUser.restoreDefaults(); }); - it('query should show failed shards callout', async function () { + it('query should show incomplete results callout', async function () { if (false) { /* If you had to modify the scripted fields, you could un-comment all this, run it, use es_archiver to update 'kibana_scripted_fields_on_logstash' */ @@ -81,11 +81,11 @@ export default function ({ getService, getPageObjects }) { 'dscNoResultsInterceptedWarningsCallout_warningTitle' ); log.debug(shardMessage); - expect(shardMessage).to.be('1 of 3 shards failed'); + expect(shardMessage).to.be('The data might be incomplete or wrong.'); }); }); - it('query should show failed shards badge on dashboard', async function () { + it('query should show incomplete results badge on dashboard', async function () { await security.testUser.setRoles([ 'test_logstash_reader', 'global_discover_all', From e3448651f09ec23ac24d3793e6d7ca5b1b75f12d Mon Sep 17 00:00:00 2001 From: Kevin Delemme Date: Thu, 14 Sep 2023 10:56:04 -0400 Subject: [PATCH 038/149] feat(slo): Add range filter to slo indicators by default (#166390) --- .../__snapshots__/histogram.test.ts.snap | 63 +++++++++++++++---- .../__snapshots__/kql_custom.test.ts.snap | 63 +++++++++++++++---- .../__snapshots__/metric_custom.test.ts.snap | 63 +++++++++++++++---- .../slo/transform_generators/histogram.ts | 16 ++++- .../slo/transform_generators/kql_custom.ts | 16 ++++- .../slo/transform_generators/metric_custom.ts | 16 ++++- 6 files changed, 195 insertions(+), 42 deletions(-) diff --git a/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/histogram.test.ts.snap b/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/histogram.test.ts.snap index 97850346b4d60..ee4001303fec5 100644 --- a/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/histogram.test.ts.snap +++ b/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/histogram.test.ts.snap @@ -47,11 +47,24 @@ Object { exports[`Histogram Transform Generator filters the source using the kql query 1`] = ` Object { "bool": Object { - "minimum_should_match": 1, - "should": Array [ + "filter": Array [ Object { - "match": Object { - "labels.groupId": "group-4", + "range": Object { + "log_timestamp": Object { + "gte": "now-7d", + }, + }, + }, + Object { + "bool": Object { + "minimum_should_match": 1, + "should": Array [ + Object { + "match": Object { + "labels.groupId": "group-4", + }, + }, + ], }, }, ], @@ -215,11 +228,24 @@ Object { ], "query": Object { "bool": Object { - "minimum_should_match": 1, - "should": Array [ + "filter": Array [ Object { - "match": Object { - "labels.groupId": "group-3", + "range": Object { + "log_timestamp": Object { + "gte": "now-7d", + }, + }, + }, + Object { + "bool": Object { + "minimum_should_match": 1, + "should": Array [ + Object { + "match": Object { + "labels.groupId": "group-3", + }, + }, + ], }, }, ], @@ -458,11 +484,24 @@ Object { ], "query": Object { "bool": Object { - "minimum_should_match": 1, - "should": Array [ + "filter": Array [ Object { - "match": Object { - "labels.groupId": "group-3", + "range": Object { + "log_timestamp": Object { + "gte": "now-7d", + }, + }, + }, + Object { + "bool": Object { + "minimum_should_match": 1, + "should": Array [ + Object { + "match": Object { + "labels.groupId": "group-3", + }, + }, + ], }, }, ], diff --git a/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/kql_custom.test.ts.snap b/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/kql_custom.test.ts.snap index 20c3a00ea9b28..126437173f84a 100644 --- a/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/kql_custom.test.ts.snap +++ b/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/kql_custom.test.ts.snap @@ -88,11 +88,24 @@ Object { exports[`KQL Custom Transform Generator filters the source using the kql query 1`] = ` Object { "bool": Object { - "minimum_should_match": 1, - "should": Array [ + "filter": Array [ Object { - "match": Object { - "labels.groupId": "group-4", + "range": Object { + "log_timestamp": Object { + "gte": "now-7d", + }, + }, + }, + Object { + "bool": Object { + "minimum_should_match": 1, + "should": Array [ + Object { + "match": Object { + "labels.groupId": "group-4", + }, + }, + ], }, }, ], @@ -230,11 +243,24 @@ Object { ], "query": Object { "bool": Object { - "minimum_should_match": 1, - "should": Array [ + "filter": Array [ + Object { + "range": Object { + "log_timestamp": Object { + "gte": "now-7d", + }, + }, + }, Object { - "match": Object { - "labels.groupId": "group-3", + "bool": Object { + "minimum_should_match": 1, + "should": Array [ + Object { + "match": Object { + "labels.groupId": "group-3", + }, + }, + ], }, }, ], @@ -447,11 +473,24 @@ Object { ], "query": Object { "bool": Object { - "minimum_should_match": 1, - "should": Array [ + "filter": Array [ Object { - "match": Object { - "labels.groupId": "group-3", + "range": Object { + "log_timestamp": Object { + "gte": "now-7d", + }, + }, + }, + Object { + "bool": Object { + "minimum_should_match": 1, + "should": Array [ + Object { + "match": Object { + "labels.groupId": "group-3", + }, + }, + ], }, }, ], diff --git a/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/metric_custom.test.ts.snap b/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/metric_custom.test.ts.snap index fdd731df983cb..ced0801d859d4 100644 --- a/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/metric_custom.test.ts.snap +++ b/x-pack/plugins/observability/server/services/slo/transform_generators/__snapshots__/metric_custom.test.ts.snap @@ -59,11 +59,24 @@ Object { exports[`Metric Custom Transform Generator filters the source using the kql query 1`] = ` Object { "bool": Object { - "minimum_should_match": 1, - "should": Array [ + "filter": Array [ Object { - "match": Object { - "labels.groupId": "group-4", + "range": Object { + "log_timestamp": Object { + "gte": "now-7d", + }, + }, + }, + Object { + "bool": Object { + "minimum_should_match": 1, + "should": Array [ + Object { + "match": Object { + "labels.groupId": "group-4", + }, + }, + ], }, }, ], @@ -239,11 +252,24 @@ Object { ], "query": Object { "bool": Object { - "minimum_should_match": 1, - "should": Array [ + "filter": Array [ Object { - "match": Object { - "labels.groupId": "group-3", + "range": Object { + "log_timestamp": Object { + "gte": "now-7d", + }, + }, + }, + Object { + "bool": Object { + "minimum_should_match": 1, + "should": Array [ + Object { + "match": Object { + "labels.groupId": "group-3", + }, + }, + ], }, }, ], @@ -494,11 +520,24 @@ Object { ], "query": Object { "bool": Object { - "minimum_should_match": 1, - "should": Array [ + "filter": Array [ + Object { + "range": Object { + "log_timestamp": Object { + "gte": "now-7d", + }, + }, + }, Object { - "match": Object { - "labels.groupId": "group-3", + "bool": Object { + "minimum_should_match": 1, + "should": Array [ + Object { + "match": Object { + "labels.groupId": "group-3", + }, + }, + ], }, }, ], diff --git a/x-pack/plugins/observability/server/services/slo/transform_generators/histogram.ts b/x-pack/plugins/observability/server/services/slo/transform_generators/histogram.ts index aef873ed7e973..654f8d67a3673 100644 --- a/x-pack/plugins/observability/server/services/slo/transform_generators/histogram.ts +++ b/x-pack/plugins/observability/server/services/slo/transform_generators/histogram.ts @@ -45,11 +45,23 @@ export class HistogramTransformGenerator extends TransformGenerator { } private buildSource(slo: SLO, indicator: HistogramIndicator) { - const filter = getElastichsearchQueryOrThrow(indicator.params.filter); return { index: parseIndex(indicator.params.index), runtime_mappings: this.buildCommonRuntimeMappings(slo), - query: filter, + query: { + bool: { + filter: [ + { + range: { + [indicator.params.timestampField]: { + gte: `now-${slo.timeWindow.duration.format()}`, + }, + }, + }, + getElastichsearchQueryOrThrow(indicator.params.filter), + ], + }, + }, }; } diff --git a/x-pack/plugins/observability/server/services/slo/transform_generators/kql_custom.ts b/x-pack/plugins/observability/server/services/slo/transform_generators/kql_custom.ts index 1dd162d688eb4..8321a0cb7172e 100644 --- a/x-pack/plugins/observability/server/services/slo/transform_generators/kql_custom.ts +++ b/x-pack/plugins/observability/server/services/slo/transform_generators/kql_custom.ts @@ -40,11 +40,23 @@ export class KQLCustomTransformGenerator extends TransformGenerator { } private buildSource(slo: SLO, indicator: KQLCustomIndicator) { - const filter = getElastichsearchQueryOrThrow(indicator.params.filter); return { index: parseIndex(indicator.params.index), runtime_mappings: this.buildCommonRuntimeMappings(slo), - query: filter, + query: { + bool: { + filter: [ + { + range: { + [indicator.params.timestampField]: { + gte: `now-${slo.timeWindow.duration.format()}`, + }, + }, + }, + getElastichsearchQueryOrThrow(indicator.params.filter), + ], + }, + }, }; } diff --git a/x-pack/plugins/observability/server/services/slo/transform_generators/metric_custom.ts b/x-pack/plugins/observability/server/services/slo/transform_generators/metric_custom.ts index 024f4403d9479..52209533f828c 100644 --- a/x-pack/plugins/observability/server/services/slo/transform_generators/metric_custom.ts +++ b/x-pack/plugins/observability/server/services/slo/transform_generators/metric_custom.ts @@ -43,11 +43,23 @@ export class MetricCustomTransformGenerator extends TransformGenerator { } private buildSource(slo: SLO, indicator: MetricCustomIndicator) { - const filter = getElastichsearchQueryOrThrow(indicator.params.filter); return { index: parseIndex(indicator.params.index), runtime_mappings: this.buildCommonRuntimeMappings(slo), - query: filter, + query: { + bool: { + filter: [ + { + range: { + [indicator.params.timestampField]: { + gte: `now-${slo.timeWindow.duration.format()}`, + }, + }, + }, + getElastichsearchQueryOrThrow(indicator.params.filter), + ], + }, + }, }; } From 91d0d7096a26de8db01da891cfc6a9f15206b9f8 Mon Sep 17 00:00:00 2001 From: Lisa Cawley Date: Thu, 14 Sep 2023 07:59:53 -0700 Subject: [PATCH 039/149] [DOCS] Move preconfigured email connector details (#165181) --- .../connector-apis-passthru.asciidoc | 44 +++- docs/management/cases/manage-cases.asciidoc | 7 +- .../connectors/action-types/email.asciidoc | 210 ++---------------- .../pre-configured-connectors.asciidoc | 136 ++++++++++++ docs/settings/alert-action-settings.asciidoc | 37 ++- .../plugins/actions/docs/openapi/bundled.json | 139 +++++++++++- .../plugins/actions/docs/openapi/bundled.yaml | 117 +++++++++- .../create_email_connector_request.yaml | 14 ++ .../create_email_connector_response.yaml | 19 ++ .../schemas/config_properties_email.yaml | 58 ++++- .../schemas/secrets_properties_email.yaml | 19 +- .../s@{spaceid}@api@actions@connector.yaml | 4 + ...}@api@actions@connector@{connectorid}.yaml | 2 +- 13 files changed, 601 insertions(+), 205 deletions(-) create mode 100644 x-pack/plugins/actions/docs/openapi/components/examples/create_email_connector_request.yaml create mode 100644 x-pack/plugins/actions/docs/openapi/components/examples/create_email_connector_response.yaml diff --git a/docs/api-generated/connectors/connector-apis-passthru.asciidoc b/docs/api-generated/connectors/connector-apis-passthru.asciidoc index 73a0bf8df1da0..ab374a6dc4a7d 100644 --- a/docs/api-generated/connectors/connector-apis-passthru.asciidoc +++ b/docs/api-generated/connectors/connector-apis-passthru.asciidoc @@ -1003,6 +1003,7 @@ Any modifications made to this file will be overwritten.
  • action_response_properties - Action response properties
  • config_properties_cases_webhook - Connector request properties for Webhook - Case Management connector
  • config_properties_d3security - Connector request properties for a D3 Security connector
  • +
  • config_properties_email - Connector request properties for an email connector
  • config_properties_genai - Connector request properties for a generative AI connector
  • config_properties_index - Connector request properties for an index connector
  • config_properties_jira - Connector request properties for a Jira connector
  • @@ -1092,6 +1093,7 @@ Any modifications made to this file will be overwritten.
  • run_connector_subaction_pushtoservice_subActionParams_incident_source_ip -
  • secrets_properties_cases_webhook - Connector secrets properties for Webhook - Case Management connector
  • secrets_properties_d3security - Connector secrets properties for a D3 Security connector
  • +
  • secrets_properties_email - Connector secrets properties for an email connector
  • secrets_properties_genai - Connector secrets properties for a generative AI connector
  • secrets_properties_jira - Connector secrets properties for a Jira connector
  • secrets_properties_opsgenie - Connector secrets properties for an Opsgenie connector
  • @@ -1107,6 +1109,7 @@ Any modifications made to this file will be overwritten.
  • updateConnector_400_response -
  • update_connector_request_cases_webhook - Update Webhook - Case Managment connector request
  • update_connector_request_d3security - Update D3 Security connector request
  • +
  • update_connector_request_email - Update email connector request
  • update_connector_request_index - Update index connector request
  • update_connector_request_jira - Update Jira connector request
  • update_connector_request_opsgenie - Update Opsgenie connector request
  • @@ -1397,6 +1400,23 @@ Any modifications made to this file will be overwritten.
    url
    String The D3 Security API request URL. If you are using the xpack.actions.allowedHosts setting, add the hostname to the allowed hosts.
    +
    +

    config_properties_email - Connector request properties for an email connector Up

    +
    Defines properties for connectors when type is .email.
    +
    +
    clientId (optional)
    String The client identifier, which is a part of OAuth 2.0 client credentials authentication, in GUID format. If service is exchange_server, this property is required.
    +
    from
    String The from address for all emails sent by the connector. It must be specified in user@host-name format.
    +
    hasAuth (optional)
    Boolean Specifies whether a user and password are required inside the secrets configuration.
    +
    host (optional)
    String The host name of the service provider. If the service is elastic_cloud (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If service is other, this property must be defined.
    +
    oauthTokenUrl (optional)
    +
    port (optional)
    Integer The port to connect to on the service provider. If the service is elastic_cloud (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If service is other, this property must be defined.
    +
    secure (optional)
    Boolean Specifies whether the connection to the service provider will use TLS. If the service is elastic_cloud (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored.
    +
    service (optional)
    String The name of the email service.
    +
    Enum:
    +
    elastic_cloud
    exchange_server
    gmail
    other
    outlook365
    ses
    +
    tenantId (optional)
    String The tenant identifier, which is part of OAuth 2.0 client credentials authentication, in GUID format. If service is exchange_server, this property is required.
    +
    +

    config_properties_genai - Connector request properties for a generative AI connector Up

    Defines properties for connectors when type is .gen-ai.
    @@ -1561,7 +1581,7 @@ Any modifications made to this file will be overwritten.

    connector_response_properties_email - Connector response properties for an email connector Up

    -
    config
    map[String, oas_any_type_not_mapped] Defines properties for connectors when type is .email.
    +
    config
    connector_type_id
    String The type of connector.
    Enum:
    .email
    @@ -1861,12 +1881,12 @@ Any modifications made to this file will be overwritten.

    create_connector_request_email - Create email connector request Up

    The email connector uses the SMTP protocol to send mail messages, using an integration of Nodemailer. An exception is Microsoft Exchange, which uses HTTP protocol for sending emails, Send mail. Email message text is sent as both plain text and html text.
    -
    config
    map[String, oas_any_type_not_mapped] Defines properties for connectors when type is .email.
    +
    config
    connector_type_id
    String The type of connector.
    Enum:
    .email
    name
    String The display name for the connector.
    -
    secrets
    map[String, oas_any_type_not_mapped] Defines secrets for connectors when type is .email.
    +
    secrets
    @@ -2425,6 +2445,15 @@ Any modifications made to this file will be overwritten.
    token
    String The D3 Security token.
    +
    +

    secrets_properties_email - Connector secrets properties for an email connector Up

    +
    Defines secrets for connectors when type is .email.
    +
    +
    clientSecret (optional)
    String The Microsoft Exchange Client secret for OAuth 2.0 client credentials authentication. It must be URL-encoded. If service is exchange_server, this property is required.
    +
    password (optional)
    String The password for HTTP basic authentication. If hasAuth is set to true, this property is required.
    +
    user (optional)
    String The username for HTTP basic authentication. If hasAuth is set to true, this property is required.
    +
    +

    secrets_properties_genai - Connector secrets properties for a generative AI connector Up

    Defines secrets for connectors when type is .gen-ai.
    @@ -2548,6 +2577,15 @@ Any modifications made to this file will be overwritten.
    secrets
    +
    +

    update_connector_request_email - Update email connector request Up

    +
    +
    +
    config
    +
    name
    String The display name for the connector.
    +
    secrets (optional)
    +
    +

    update_connector_request_index - Update index connector request Up

    diff --git a/docs/management/cases/manage-cases.asciidoc b/docs/management/cases/manage-cases.asciidoc index a3f0a40fd6009..e3896423b3f13 100644 --- a/docs/management/cases/manage-cases.asciidoc +++ b/docs/management/cases/manage-cases.asciidoc @@ -105,14 +105,13 @@ For self-managed {kib}: + -- NOTE: At this time, email notifications support only preconfigured connectors, -which are defined in the `kibana.yml` file. For examples, refer to -{kibana-ref}/email-action-type.html#preconfigured-email-configuration[Preconfigured email connector] -and {kibana-ref}/email-action-type.html#configuring-email[Configuring email connectors for well-known services]. +which are defined in the `kibana.yml` file. +For examples, refer to <> and <>. -- . Set the `notifications.connectors.default.email` {kib} setting to the name of your email connector. . If you want the email notifications to contain links back to the case, you -must configure the {kibana-ref}/settings.html#server-publicBaseUrl[server.publicBaseUrl] setting. +must configure the <> setting. When you subsequently add assignees to cases, they receive an email. // end::case-notifications[] diff --git a/docs/management/connectors/action-types/email.asciidoc b/docs/management/connectors/action-types/email.asciidoc index 0f652821a3661..c7cea7e1dceff 100644 --- a/docs/management/connectors/action-types/email.asciidoc +++ b/docs/management/connectors/action-types/email.asciidoc @@ -97,88 +97,12 @@ Username for login type authentication. Password:: Password for login type authentication. -[float] -[[preconfigured-email-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -[source,text] --- -xpack.actions.preconfigured: - my-email: - name: preconfigured-email-connector-type - actionTypeId: .email - config: - service: other - from: testsender@test.com - host: validhostname - port: 8080 - secure: false - secrets: - user: testuser - password: passwordkeystorevalue --- - -Config defines information for the connector type. - -`service`:: -The name of the email service. If `service` is `elastic_cloud` (for Elastic -Cloud notifications) or one of Nodemailer's well-known email service providers, -the `host`, `port`, and `secure` properties are ignored. If `service` is `other`, -the `host` and `port` properties must be defined. For more information on the -`gmail` service value, refer to -https://nodemailer.com/usage/using-gmail/[Nodemailer Gmail documentation]. If -`service` is `exchange_server`, the `tenantId`, `clientId`, `clientSecret` -properties are required instead of `host` and `port`. - -`from`:: -An email address that corresponds to *Sender*. - -`host`:: -A string that corresponds to *Host*. - -`port`:: -A number that corresponds to *Port*. - -`secure`:: -A boolean that corresponds to *Secure*. - -`hasAuth`:: -A boolean that corresponds to *Requires authentication*. If `true`, this -connector will require values for `user` and `password` inside the secrets -configuration. Defaults to `true`. - -`tenantId`:: -A GUID format value that corresponds to *Tenant ID*, which is a part of OAuth -2.0 Client Credentials Authentication. - -`clientId`:: -A GUID format value that corresponds to *Client ID*, which is a part of OAuth -2.0 Client Credentials Authentication. - -Secrets defines sensitive information for the connector type. - -`user`:: -A string that corresponds to *Username*. Required if `hasAuth` is set to `true`. - -`password`:: -A string that corresponds to *Password*. Should be stored in the -<>. Required if `hasAuth` is set to `true`. - -`clientSecret`:: -A string that corresponds to *Client Secret*. Should be stored in the -<>. Required if `service` is set to -`exchange_server`, which uses OAuth 2.0 Client Credentials Authentication. - [float] [[email-action-configuration]] === Test connectors -You can test connectors with the <> or -as you're creating or editing the connector in {kib}. For example: +You can test connectors as you're creating or editing the connector in {kib}. +For example: [role="screenshot"] image::management/connectors/images/email-params-test.png[Email params test] @@ -214,14 +138,6 @@ settings. You can set configurations that apply to all your connectors or use The email connector uses an integration of https://nodemailer.com/[Nodemailer] to send email from many popular SMTP email services. For Microsoft Exchange email, it uses the Microsoft Graph API. -To configure the email connector to work with common email systems, refer to: - -* <> -* <> -* <> -* <> -* <> - For other email servers, you can check the list of well-known services that Nodemailer supports in the JSON file https://github.com/nodemailer/nodemailer/blob/master/lib/well-known/services.json[well-known/services.json]. @@ -233,32 +149,17 @@ is considered `false`. Typically, `port: 465` uses `secure: true`, and [float] [[elasticcloud]] -==== Sending email from Elastic Cloud +==== {ecloud} -Use the preconfigured email connector (`Elastic-Cloud-SMTP`) to send emails from -Elastic Cloud. +Use the preconfigured email connector (`Elastic-Cloud-SMTP`) to send emails from {ecloud}. -NOTE: For more information on the preconfigured email connector, see link:{cloud}/ec-watcher.html#ec-cloud-email-service-limits[Elastic Cloud email service limits]. +NOTE: For more information on the preconfigured email connector, see link:{cloud}/ec-watcher.html#ec-cloud-email-service-limits[{ecloud} email service limits]. [float] [[gmail]] -==== Sending email from Gmail - -Use the following email connector configuration to send email from the -https://mail.google.com[Gmail] SMTP service: - -[source,text] --------------------------------------------------- - config: - service: gmail - // `host`, `port` and `secure` have the following default values and do not need to set: - // host: smtp.gmail.com - // port: 465 - // secure: true - secrets: - user: - password: --------------------------------------------------- +==== Gmail + +To create a connector that sends email from the https://mail.google.com[Gmail] SMTP service, set the **Service** to `Gmail`. If you get an authentication error that indicates that you need to continue the sign-in process from a web browser when the action attempts to send email, you @@ -272,23 +173,10 @@ for more information. [float] [[outlook]] -==== Sending email from Outlook.com - -Use the following email connector configuration to send email from the -https://www.outlook.com/[Outlook.com] SMTP service: - -[source,text] --------------------------------------------------- -config: - service: outlook365 - // `host`, `port` and `secure` have the following default values and do not need to set: - // host: smtp.office365.com - // port: 587 - // secure: false -secrets: - user: - password: --------------------------------------------------- +==== Outlook.com + +To create a connector that sends email from the +https://www.outlook.com/[Outlook.com] SMTP service, set the **Service** to `Outlook`. When sending emails, you must provide a `from` address, either as the default in your connector configuration or as part of the email action in the rule. @@ -300,24 +188,10 @@ for more information. [float] [[amazon-ses]] -==== Sending email from Amazon SES (Simple Email Service) - -Use the following email connector configuration to send email from the -http://aws.amazon.com/ses[Amazon Simple Email Service] (SES) SMTP service: - -[source,text] --------------------------------------------------- -config: - service: ses - // `host`, `port` and `secure` have the following default values and do not need to set: - // host: email-smtp.us-east-1.amazonaws.com <1> - // port: 465 - // secure: true -secrets: - user: - password: --------------------------------------------------- -<1> `config.host` varies depending on the region +==== Amazon SES + +To create a connector that sends email from the +http://aws.amazon.com/ses[Amazon Simple Email Service] (SES) SMTP service, set the **Service** to `Amazon SES`. NOTE: You must use your Amazon SES SMTP credentials to send email through Amazon SES. For more information, see @@ -328,38 +202,19 @@ or https://docs.aws.amazon.com/ses/latest/DeveloperGuide/verify-domains.html[your whole domain] at AWS. - [float] [[exchange-basic-auth]] -==== Sending email from Microsoft Exchange with Basic Authentication +==== Microsoft Exchange with basic authentication deprecated:[7.16.0,"This Microsoft Exchange configuration is deprecated and will be removed later because Microsoft is deprecating basic authentication."] -[source,text] --------------------------------------------------- -config: - service: other - host: - port: 465 - secure: true - from: <1> -secrets: - user: <2> - password: --------------------------------------------------- -<1> Some organizations configure Exchange to validate that the `from` field is a - valid local email account. -<2> Many organizations support use of your email address as your username. - Check with your system administrator if you receive - authentication-related failures. - To prepare for the removal of Basic Auth, you must update all existing Microsoft Exchange connectors with the new configuration based on the https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-client-creds-grant-flow[OAuth 2.0 Client Credentials Authentication]. [float] [[exchange]] -==== Sending email from Microsoft Exchange with OAuth 2.0 +==== Microsoft Exchange with OAuth 2.0 NOTE: The email connector uses Microsoft Graph REST API v1.0, in particular the https://docs.microsoft.com/en-us/graph/api/user-sendmail[sendMail] endpoint. It supports only the https://learn.microsoft.com/en-us/graph/deployments#microsoft-graph-and-graph-explorer-service-root-endpoints[Microsoft Graph global service] root endpoint (`https://graph.microsoft.com`). @@ -396,9 +251,9 @@ image::management/connectors/images/exchange-granted.png[MS Exchange grant confi [float] [[exchange-client-secret]] -===== Configure Microsoft Exchange Client secret +===== Configure the Microsoft Exchange Client secret -To configure the Client secret , open *Manage > Certificates & secrets*. +To configure the Microsoft Exchange Client secret, open *Manage > Certificates & secrets*: [role="screenshot"] image::management/connectors/images/exchange-secrets.png[MS Exchange secrets configuration] @@ -408,29 +263,12 @@ the Microsoft Exchange email connector. [float] [[exchange-client-tenant-id]] -===== Configure Microsoft Exchange Client ID and Tenant ID +===== Configure the Microsoft Exchange client and tenant identifiers -To find the application Client ID, open the *Overview* page. +To find the Microsoft Exchange client and tenant IDs, open the *Overview* page: [role="screenshot"] image::management/connectors/images/exchange-client-tenant.png[MS Exchange Client ID and Tenant ID configuration] -Copy and paste this values to the proper fields in the Microsoft Exchange email -connector. - -Use the following email connector configuration to send email from Microsoft -Exchange: - -[source,text] --------------------------------------------------- -config: - service: exchange_server - clientId: <1> - tenantId: - from: <2> -secrets: - clientSecret: --------------------------------------------------- -<1> This application information is on the https://go.microsoft.com/fwlink/?linkid=2083908[Azure portal – App registrations]. -<2> Some organizations configure Exchange to validate that the `from` field is a - valid local email account. +Create a connector and set the **Service** to `MS Exchange Server`. +Copy and paste the values into the proper fields. \ No newline at end of file diff --git a/docs/management/connectors/pre-configured-connectors.asciidoc b/docs/management/connectors/pre-configured-connectors.asciidoc index 60e35eb510597..0cf5734f1ab77 100644 --- a/docs/management/connectors/pre-configured-connectors.asciidoc +++ b/docs/management/connectors/pre-configured-connectors.asciidoc @@ -108,6 +108,7 @@ Index names must start with `kibana-alert-history-` to take advantage of the pre * <> * <> +* <> * <> * <> * <> @@ -138,6 +139,141 @@ xpack.actions.preconfigured: <1> The D3 Security API request URL. <2> The D3 Security token. +[float] +[[preconfigured-email-configuration]] +==== Email connectors + +The following example creates an <>: + +[source,text] +-- +xpack.actions.preconfigured: + my-email: + name: preconfigured-email-connector-type + actionTypeId: .email + config: + service: other <1> + from: testsender@test.com <2> + host: validhostname <3> + port: 8080 <4> + secure: false <5> + hasAuth: true <6> + secrets: + user: testuser <7> + password: passwordkeystorevalue <8> +-- + +<1> The name of the email service. If `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, the `host`, `port`, and `secure` properties are ignored. If `service` is `other`, the `host` and `port` properties must be defined. For more information on the `gmail` service value, refer to https://nodemailer.com/usage/using-gmail/[Nodemailer Gmail documentation]. If `service` is `exchange_server`, the `tenantId`, `clientId`, `clientSecret` +properties are required instead of `host` and `port`. +<2> The email address for all emails sent with this connector. It must be specified in `user@host-name` format. +<3> The host name of the service provider. +<4> The port to connect to on the service provider. +<5> If true, the connection will use TLS when connecting to the service provider. +<6> If `true`, this connector will require values for `user` and `password` inside the secrets configuration. Defaults to `true`. +<7> A user name for authentication. Required if `hasAuth` is set to `true`. +<8> A password for authentication. Should be stored in the <>. Required if `hasAuth` is set to `true`. + + +[float] +[[preconfigured-email-configuration-amazon-ses]] +===== Amazon SES (Simple Email Service) + +Use the following email connector configuration to send email from the +http://aws.amazon.com/ses[Amazon Simple Email Service] (SES) SMTP service: + +[source,text] +-------------------------------------------------- +config: + service: ses + // `host`, `port` and `secure` have the following default values and do not need to set: + // host: email-smtp.us-east-1.amazonaws.com <1> + // port: 465 + // secure: true +secrets: + user: + password: +-------------------------------------------------- +<1> `config.host` varies depending on the region + +[float] +[[preconfigured-email-configuration-gmail]] +===== Gmail + +Use the following email connector configuration to send email from the https://mail.google.com[Gmail] SMTP service: + +[source,text] +-------------------------------------------------- + config: + service: gmail + // `host`, `port` and `secure` have the following default values and do not need to set: + // host: smtp.gmail.com + // port: 465 + // secure: true + secrets: + user: + password: +-------------------------------------------------- + +[float] +[[preconfigured-email-configuration-exchange-basic-auth]] +===== Microsoft Exchange with basic authentication + +deprecated:[7.16.0,"This Microsoft Exchange configuration is deprecated and will be removed later because Microsoft is deprecating basic authentication."] + +[source,text] +-------------------------------------------------- +config: + service: other + host: + port: 465 + secure: true + from: <1> +secrets: + user: <2> + password: +-------------------------------------------------- +<1> Some organizations configure Exchange to validate that the `from` field is a valid local email account. +<2> Many organizations support use of your email address as your username. Check with your system administrator if you receive authentication-related failures. + +[float] +[[preconfigured-email-configuration-exchange]] +===== Microsoft Exchange with OAuth 2.0 + +Use the following email connector configuration to send email from Microsoft Exchange: + +[source,text] +-------------------------------------------------- +config: + service: exchange_server + clientId: <1> + tenantId: + from: <2> +secrets: + clientSecret: +-------------------------------------------------- +<1> This application information is on the https://go.microsoft.com/fwlink/?linkid=2083908[Azure portal – App registrations]. +<2> Some organizations configure Exchange to validate that the `from` field is a valid local email account. + +[float] +[[preconfigured-email-configuration-outlook]] +===== Outlook.com + +Use the following email connector configuration to send email from the +https://www.outlook.com/[Outlook.com] SMTP service: + +[source,text] +-------------------------------------------------- +config: + service: outlook365 + // `host`, `port` and `secure` have the following default values and do not need to set: + // host: smtp.office365.com + // port: 587 + // secure: false +secrets: + user: + password: +-------------------------------------------------- + [float] [[preconfigured-resilient-configuration]] ==== {ibm-r} connectors diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index c86678ee3a775..5f5f0e699f59b 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -270,6 +270,9 @@ A configuration URL that varies by connector: NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname in the URL is added to the allowed hosts. -- +`xpack.actions.preconfigured..config.clientId`:: +For an <>, specifies a GUID format value that corresponds to the client ID, which is a part of OAuth 2.0 client credentials authentication. + `xpack.actions.preconfigured..config.configUrl`:: For an <> with basic authentication, specifies the request URL for the Elastic Alerts trigger in xMatters. @@ -306,6 +309,10 @@ For a <>, specifies a string f `xpack.actions.preconfigured..config.executionTimeField`:: For an <>, a field that indicates when the document was indexed. +`xpack.actions.preconfigured..config.from`:: +For an <>, specifies the from address for all emails sent by the connector. +It must be specified in `user@host-name` format. + `xpack.actions.preconfigured..config.getIncidentResponseExternalTitleKey`:: For a <>, specifies a string from the response body of the get case method that corresponds to the external service title. @@ -315,20 +322,35 @@ For a <>, specifies a REST API NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname in the URL is added to the allowed hosts. `xpack.actions.preconfigured..config.hasAuth`:: -For a <>, specifies whether a user and password are required inside the secrets configuration. Defaults to `true`. +For an <> or <>, specifies whether a user and password are required inside the secrets configuration. Defaults to `true`. `xpack.actions.preconfigured..config.headers`:: For a <>, specifies a set of key-value pairs sent as headers with the request. +`xpack.actions.preconfigured..config.host`:: +For an <>, specifies the host name of the service provider. + `xpack.actions.preconfigured..config.index`:: For an <>, specifies the {es} index. `xpack.actions.preconfigured..config.orgId`:: For an <>, specifies the {ibm-r} organization identifier. +`xpack.actions.preconfigured..config.port`:: +For an <>, specifies the port to connect to on the service provider. + `xpack.actions.preconfigured..config.projectKey`:: For a <>, specifies the Jira project key. +`xpack.actions.preconfigured..config.secure`:: +For an <>, specifies whether the connection will use TLS when connecting to the service provider. If not true, the connection will initially connect over TCP then attempt to switch to TLS via the SMTP STARTTLS command. + +`xpack.actions.preconfigured..config.service`:: +For an <>, specifies the name of the email service. For example, `elastic_cloud`, `exchange_server`, `gmail`, `other`, `outlook365`, or `ses`. + +`xpack.actions.preconfigured..config.tenantId`:: +For an <>, specifies a GUID format value that corresponds to a tenant ID, which is a part of OAuth 2.0 client credentials authentication. + `xpack.actions.preconfigured..config.updateIncidentJson`:: For a <>, specifies a stringified JSON payload with Mustache variables that is sent to the update case URL to update a case. Required variables are `case.title` and `case.description`. + @@ -382,6 +404,15 @@ For an <>, specifies the authentication `xpack.actions.preconfigured..secrets.apiToken`:: For a <>, specifies the API authentication token for HTTP basic authentication. +`xpack.actions.preconfigured..secrets.clientSecret`:: +A client secret that varies by connector: ++ +-- +* For an <>, specifies the client secret that you generated for your app in the app registration portal. It is required when the email service is `exchange_server`, which uses OAuth 2.0 client credentials authentication. + +NOTE: The client secret must be URL-encoded. +-- + `xpack.actions.preconfigured..secrets.email`:: For a <>, specifies the account email for HTTP basic authentication. @@ -389,7 +420,7 @@ For a <>, specifies the account email for HTTP A password secret that varies by connector: + -- -* For a <>, specifies a password that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. +* For an <> or <>, specifies a password that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. * For an <>, specifies a password that is required when `xpack.actions.preconfigured..config.usesBasic` is `true`. -- @@ -414,7 +445,7 @@ A token secret that varies by connector: A user name secret that varies by connector: + -- -* For a <>, specifies a user name that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. +* For an <> or <>, specifies a user name that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. * For an <>, specifies a user name that is required when `xpack.actions.preconfigured..config.usesBasic` is `true`. -- diff --git a/x-pack/plugins/actions/docs/openapi/bundled.json b/x-pack/plugins/actions/docs/openapi/bundled.json index 000205bddfebd..4f73e1bc151ea 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.json +++ b/x-pack/plugins/actions/docs/openapi/bundled.json @@ -123,6 +123,9 @@ } }, "examples": { + "createEmailConnectorRequest": { + "$ref": "#/components/examples/create_email_connector_request" + }, "createIndexConnectorRequest": { "$ref": "#/components/examples/create_index_connector_request" }, @@ -145,6 +148,9 @@ "$ref": "#/components/schemas/connector_response_properties" }, "examples": { + "createEmailConnectorResponse": { + "$ref": "#/components/examples/create_email_connector_response" + }, "createIndexConnectorResponse": { "$ref": "#/components/examples/create_index_connector_response" }, @@ -460,6 +466,9 @@ { "$ref": "#/components/schemas/update_connector_request_d3security" }, + { + "$ref": "#/components/schemas/update_connector_request_email" + }, { "$ref": "#/components/schemas/update_connector_request_index" }, @@ -1635,14 +1644,78 @@ "config_properties_email": { "title": "Connector request properties for an email connector", "description": "Defines properties for connectors when type is `.email`.", + "required": [ + "from" + ], "type": "object", - "additionalProperties": true + "properties": { + "clientId": { + "description": "The client identifier, which is a part of OAuth 2.0 client credentials authentication, in GUID format. If `service` is `exchange_server`, this property is required.\n", + "type": "string", + "nullable": true + }, + "from": { + "description": "The from address for all emails sent by the connector. It must be specified in `user@host-name` format.\n", + "type": "string" + }, + "hasAuth": { + "description": "Specifies whether a user and password are required inside the secrets configuration.\n", + "default": true, + "type": "boolean" + }, + "host": { + "description": "The host name of the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined. \n", + "type": "string" + }, + "oauthTokenUrl": { + "type": "string", + "nullable": true + }, + "port": { + "description": "The port to connect to on the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined. \n", + "type": "integer" + }, + "secure": { + "description": "Specifies whether the connection to the service provider will use TLS. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored.\n", + "type": "boolean" + }, + "service": { + "description": "The name of the email service.\n", + "type": "string", + "enum": [ + "elastic_cloud", + "exchange_server", + "gmail", + "other", + "outlook365", + "ses" + ] + }, + "tenantId": { + "description": "The tenant identifier, which is part of OAuth 2.0 client credentials authentication, in GUID format. If `service` is `exchange_server`, this property is required.\n", + "type": "string", + "nullable": true + } + } }, "secrets_properties_email": { "title": "Connector secrets properties for an email connector", "description": "Defines secrets for connectors when type is `.email`.", "type": "object", - "additionalProperties": true + "properties": { + "clientSecret": { + "type": "string", + "description": "The Microsoft Exchange Client secret for OAuth 2.0 client credentials authentication. It must be URL-encoded. If `service` is `exchange_server`, this property is required.\n" + }, + "password": { + "type": "string", + "description": "The password for HTTP basic authentication. If `hasAuth` is set to `true`, this property is required.\n" + }, + "user": { + "type": "string", + "description": "The username for HTTP basic authentication. If `hasAuth` is set to `true`, this property is required.\n" + } + } }, "create_connector_request_email": { "title": "Create email connector request", @@ -3855,6 +3928,26 @@ } } }, + "update_connector_request_email": { + "title": "Update email connector request", + "type": "object", + "required": [ + "config", + "name" + ], + "properties": { + "config": { + "$ref": "#/components/schemas/config_properties_email" + }, + "name": { + "type": "string", + "description": "The display name for the connector." + }, + "secrets": { + "$ref": "#/components/schemas/secrets_properties_email" + } + } + }, "update_connector_request_index": { "title": "Update index connector request", "type": "object", @@ -4858,6 +4951,25 @@ } }, "examples": { + "create_email_connector_request": { + "summary": "Create an email connector.", + "value": { + "name": "email-connector-1", + "connector_type_id": ".email", + "config": { + "from": "tester@example.com", + "hasAuth": true, + "host": "https://example.com", + "port": 1025, + "secure": false, + "service": "other" + }, + "secrets": { + "user": "username", + "password": "password" + } + } + }, "create_index_connector_request": { "summary": "Create an index connector.", "value": { @@ -4899,6 +5011,29 @@ } } }, + "create_email_connector_response": { + "summary": "A new email connector.", + "value": { + "id": "90a82c60-478f-11ee-a343-f98a117c727f", + "connector_type_id": ".email", + "name": "email-connector-1", + "config": { + "from": "tester@example.com", + "service": "other", + "host": "https://example.com", + "port": 1025, + "secure": false, + "hasAuth": true, + "tenantId": null, + "clientId": null, + "oauthTokenUrl": null + }, + "is_preconfigured": false, + "is_deprecated": false, + "is_missing_secrets": false, + "is_system_action": false + } + }, "create_index_connector_response": { "summary": "A new index connector.", "value": { diff --git a/x-pack/plugins/actions/docs/openapi/bundled.yaml b/x-pack/plugins/actions/docs/openapi/bundled.yaml index c2baa9a365adf..ed396463ad4c7 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.yaml +++ b/x-pack/plugins/actions/docs/openapi/bundled.yaml @@ -60,6 +60,8 @@ paths: discriminator: propertyName: connector_type_id examples: + createEmailConnectorRequest: + $ref: '#/components/examples/create_email_connector_request' createIndexConnectorRequest: $ref: '#/components/examples/create_index_connector_request' createWebhookConnectorRequest: @@ -74,6 +76,8 @@ paths: schema: $ref: '#/components/schemas/connector_response_properties' examples: + createEmailConnectorResponse: + $ref: '#/components/examples/create_email_connector_response' createIndexConnectorResponse: $ref: '#/components/examples/create_index_connector_response' createWebhookConnectorResponse: @@ -246,6 +250,7 @@ paths: oneOf: - $ref: '#/components/schemas/update_connector_request_cases_webhook' - $ref: '#/components/schemas/update_connector_request_d3security' + - $ref: '#/components/schemas/update_connector_request_email' - $ref: '#/components/schemas/update_connector_request_index' - $ref: '#/components/schemas/update_connector_request_jira' - $ref: '#/components/schemas/update_connector_request_opsgenie' @@ -1000,13 +1005,72 @@ components: config_properties_email: title: Connector request properties for an email connector description: Defines properties for connectors when type is `.email`. + required: + - from type: object - additionalProperties: true + properties: + clientId: + description: | + The client identifier, which is a part of OAuth 2.0 client credentials authentication, in GUID format. If `service` is `exchange_server`, this property is required. + type: string + nullable: true + from: + description: | + The from address for all emails sent by the connector. It must be specified in `user@host-name` format. + type: string + hasAuth: + description: | + Specifies whether a user and password are required inside the secrets configuration. + default: true + type: boolean + host: + description: | + The host name of the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined. + type: string + oauthTokenUrl: + type: string + nullable: true + port: + description: | + The port to connect to on the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined. + type: integer + secure: + description: | + Specifies whether the connection to the service provider will use TLS. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. + type: boolean + service: + description: | + The name of the email service. + type: string + enum: + - elastic_cloud + - exchange_server + - gmail + - other + - outlook365 + - ses + tenantId: + description: | + The tenant identifier, which is part of OAuth 2.0 client credentials authentication, in GUID format. If `service` is `exchange_server`, this property is required. + type: string + nullable: true secrets_properties_email: title: Connector secrets properties for an email connector description: Defines secrets for connectors when type is `.email`. type: object - additionalProperties: true + properties: + clientSecret: + type: string + description: | + The Microsoft Exchange Client secret for OAuth 2.0 client credentials authentication. It must be URL-encoded. If `service` is `exchange_server`, this property is required. + password: + type: string + description: | + The password for HTTP basic authentication. If `hasAuth` is set to `true`, this property is required. + user: + type: string + description: | + The username for HTTP basic authentication. If `hasAuth` is set to `true`, this property is required. create_connector_request_email: title: Create email connector request description: | @@ -2655,6 +2719,20 @@ components: description: The display name for the connector. secrets: $ref: '#/components/schemas/secrets_properties_d3security' + update_connector_request_email: + title: Update email connector request + type: object + required: + - config + - name + properties: + config: + $ref: '#/components/schemas/config_properties_email' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/secrets_properties_email' update_connector_request_index: title: Update index connector request type: object @@ -3380,6 +3458,21 @@ components: name: type: string examples: + create_email_connector_request: + summary: Create an email connector. + value: + name: email-connector-1 + connector_type_id: .email + config: + from: tester@example.com + hasAuth: true + host: https://example.com + port: 1025 + secure: false + service: other + secrets: + user: username + password: password create_index_connector_request: summary: Create an index connector. value: @@ -3410,6 +3503,26 @@ components: usesBasic: false secrets: secretsUrl: https://example.com?apiKey=xxxxx + create_email_connector_response: + summary: A new email connector. + value: + id: 90a82c60-478f-11ee-a343-f98a117c727f + connector_type_id: .email + name: email-connector-1 + config: + from: tester@example.com + service: other + host: https://example.com + port: 1025 + secure: false + hasAuth: true + tenantId: null + clientId: null + oauthTokenUrl: null + is_preconfigured: false + is_deprecated: false + is_missing_secrets: false + is_system_action: false create_index_connector_response: summary: A new index connector. value: diff --git a/x-pack/plugins/actions/docs/openapi/components/examples/create_email_connector_request.yaml b/x-pack/plugins/actions/docs/openapi/components/examples/create_email_connector_request.yaml new file mode 100644 index 0000000000000..df37ace78fb4b --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/examples/create_email_connector_request.yaml @@ -0,0 +1,14 @@ +summary: Create an email connector. +value: + name: email-connector-1 + connector_type_id: .email + config: + from: tester@example.com + hasAuth: true + host: https://example.com + port: 1025 + secure: false + service: other + secrets: + user: username + password: password \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/examples/create_email_connector_response.yaml b/x-pack/plugins/actions/docs/openapi/components/examples/create_email_connector_response.yaml new file mode 100644 index 0000000000000..b8405a1d61123 --- /dev/null +++ b/x-pack/plugins/actions/docs/openapi/components/examples/create_email_connector_response.yaml @@ -0,0 +1,19 @@ +summary: A new email connector. +value: + id: 90a82c60-478f-11ee-a343-f98a117c727f + connector_type_id: .email + name: email-connector-1 + config: + from: tester@example.com + service: other + host: https://example.com + port: 1025 + secure: false + hasAuth: true + tenantId: null + clientId: null + oauthTokenUrl: null + is_preconfigured: false + is_deprecated: false + is_missing_secrets: false + is_system_action: false \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_email.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_email.yaml index d87c36be08936..6d3618e2bba27 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_email.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_email.yaml @@ -1,5 +1,59 @@ title: Connector request properties for an email connector description: Defines properties for connectors when type is `.email`. +required: + - from type: object -additionalProperties: true -# TO-DO: Add the properties for this connector. \ No newline at end of file +properties: + clientId: + description: > + The client identifier, which is a part of OAuth 2.0 client credentials authentication, in GUID format. + If `service` is `exchange_server`, this property is required. + type: string + nullable: true + from: + description: > + The from address for all emails sent by the connector. It must be specified in `user@host-name` format. + type: string + hasAuth: + description: > + Specifies whether a user and password are required inside the secrets configuration. + default: true + type: boolean + host: + description: > + The host name of the service provider. + If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. + If `service` is `other`, this property must be defined. + type: string + oauthTokenUrl: + # description: TBD + type: string + nullable: true + port: + description: > + The port to connect to on the service provider. + If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. + If `service` is `other`, this property must be defined. + type: integer + secure: + description: > + Specifies whether the connection to the service provider will use TLS. + If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. + type: boolean + service: + description: > + The name of the email service. + type: string + enum: + - elastic_cloud + - exchange_server + - gmail + - other + - outlook365 + - ses + tenantId: + description: > + The tenant identifier, which is part of OAuth 2.0 client credentials authentication, in GUID format. + If `service` is `exchange_server`, this property is required. + type: string + nullable: true \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_email.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_email.yaml index 04a3526b72ce3..dbfca0230c79a 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_email.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_email.yaml @@ -1,5 +1,20 @@ title: Connector secrets properties for an email connector description: Defines secrets for connectors when type is `.email`. type: object -additionalProperties: true -# TO-DO: Add the properties for this connector. \ No newline at end of file +properties: + clientSecret: + type: string + description: > + The Microsoft Exchange Client secret for OAuth 2.0 client credentials authentication. + It must be URL-encoded. + If `service` is `exchange_server`, this property is required. + password: + type: string + description: > + The password for HTTP basic authentication. + If `hasAuth` is set to `true`, this property is required. + user: + type: string + description: > + The username for HTTP basic authentication. + If `hasAuth` is set to `true`, this property is required. \ No newline at end of file diff --git a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml index 052852471d865..f32def50706b2 100644 --- a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml +++ b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector.yaml @@ -39,6 +39,8 @@ post: discriminator: propertyName: connector_type_id examples: + createEmailConnectorRequest: + $ref: '../components/examples/create_email_connector_request.yaml' createIndexConnectorRequest: $ref: '../components/examples/create_index_connector_request.yaml' createWebhookConnectorRequest: @@ -53,6 +55,8 @@ post: schema: $ref: '../components/schemas/connector_response_properties.yaml' examples: + createEmailConnectorResponse: + $ref: '../components/examples/create_email_connector_response.yaml' createIndexConnectorResponse: $ref: '../components/examples/create_index_connector_response.yaml' createWebhookConnectorResponse: diff --git a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml index 96ddfa168a270..319d4be0da2a6 100644 --- a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml +++ b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml @@ -161,7 +161,7 @@ put: oneOf: - $ref: '../components/schemas/update_connector_request_cases_webhook.yaml' - $ref: '../components/schemas/update_connector_request_d3security.yaml' -# - $ref: '../components/schemas/update_connector_request_email.yaml' + - $ref: '../components/schemas/update_connector_request_email.yaml' # - $ref: '../components/schemas/create_connector_request_genai.yaml' - $ref: '../components/schemas/update_connector_request_index.yaml' - $ref: '../components/schemas/update_connector_request_jira.yaml' From 66d67056ad5c4ec3edb2aee910766f1aebd8298f Mon Sep 17 00:00:00 2001 From: Wafaa Nasr Date: Thu, 14 Sep 2023 17:02:42 +0200 Subject: [PATCH 040/149] [Security Solution][Exceptions] Fix links in exceptions to open in a new tab (#166008) ## Summary - Addresses https://github.com/elastic/kibana/issues/165340 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../navigation/src/links.tsx | 29 +++++++++--- .../components/exception_item_card/meta.tsx | 27 +++-------- .../linked_to_rule/index.test.tsx | 3 +- .../components/flyout_components/utils.tsx | 31 +++++-------- .../public/exceptions/components/index.ts | 3 +- .../components/link_to_list_details/index.tsx | 45 +++++++++++++++++++ .../index.tsx | 23 ++++++---- .../components/list_exception_items/index.tsx | 4 +- .../pages/list_detail_view/index.tsx | 4 +- 9 files changed, 109 insertions(+), 60 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/exceptions/components/link_to_list_details/index.tsx rename x-pack/plugins/security_solution/public/exceptions/components/{list_details_link_anchor => link_to_rule_details}/index.tsx (68%) diff --git a/x-pack/packages/security-solution/navigation/src/links.tsx b/x-pack/packages/security-solution/navigation/src/links.tsx index 97434162b9879..172d7361a3420 100644 --- a/x-pack/packages/security-solution/navigation/src/links.tsx +++ b/x-pack/packages/security-solution/navigation/src/links.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import type { HTMLAttributeAnchorTarget } from 'react'; import React, { type MouseEventHandler, type MouseEvent, useCallback } from 'react'; import { EuiButton, EuiLink, type EuiLinkProps } from '@elastic/eui'; import { useGetAppUrl, useNavigateTo } from './navigation'; @@ -13,6 +14,7 @@ export interface BaseLinkProps { id: string; path?: string; urlState?: string; + target?: HTMLAttributeAnchorTarget | undefined; } export type GetLinkUrlProps = BaseLinkProps & { absolute?: boolean }; @@ -26,7 +28,16 @@ export type WrappedLinkProps = BaseLinkProps & { **/ onClick?: MouseEventHandler; }; -export type GetLinkProps = (params: WrappedLinkProps) => LinkProps; +export type GetLinkProps = ( + params: WrappedLinkProps & { + /** + * Optional `overrideNavigation` boolean prop. + * It overrides the default browser navigation action with history navigation using kibana tools. + * It is `true` by default. + **/ + overrideNavigation?: boolean; + } +) => LinkProps; export interface LinkProps { onClick: MouseEventHandler; @@ -60,7 +71,7 @@ export const useGetLinkProps = (): GetLinkProps => { const { navigateTo } = useNavigateTo(); const getLinkProps = useCallback( - ({ id, path, urlState, onClick: onClickProps }) => { + ({ id, path, urlState, onClick: onClickProps, overrideNavigation = true }) => { const url = getLinkUrl({ id, path, urlState }); return { href: url, @@ -71,8 +82,10 @@ export const useGetLinkProps = (): GetLinkProps => { if (onClickProps) { onClickProps(ev); } - ev.preventDefault(); - navigateTo({ url }); + if (overrideNavigation) { + ev.preventDefault(); + navigateTo({ url }); + } }, }; }, @@ -90,7 +103,13 @@ export const withLink = >( ): React.FC & WrappedLinkProps> => React.memo(function WithLink({ id, path, urlState, onClick: _onClick, ...rest }) { const getLink = useGetLinkProps(); - const { onClick, href } = getLink({ id, path, urlState, onClick: _onClick }); + const { onClick, href } = getLink({ + id, + path, + urlState, + onClick: _onClick, + ...(rest.target === '_blank' && { overrideNavigation: false }), + }); return ; }); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/exception_item_card/meta.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/exception_item_card/meta.tsx index a324c19ff994d..6053b56bf5d5a 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/exception_item_card/meta.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/exception_item_card/meta.tsx @@ -22,13 +22,10 @@ import type { ExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-t import { ExceptionListTypeEnum } from '@kbn/securitysolution-io-ts-list-types'; import styled from 'styled-components'; +import { LinkToRuleDetails, LinkToListDetails } from '../../../../exceptions/components'; import * as i18n from './translations'; import { FormattedDate } from '../../../../common/components/formatted_date'; -import { SecurityPageName } from '../../../../../common/constants'; import type { ExceptionListRuleReferencesSchema } from '../../../../../common/api/detection_engine/rule_exceptions'; -import { SecuritySolutionLinkAnchor } from '../../../../common/components/links'; -import { RuleDetailTabs } from '../../../rule_details_ui/pages/rule_details/use_rule_details_tabs'; -import { getRuleDetailsTabUrl } from '../../../../common/components/link_to/redirect_to_detection_engine'; const StyledFlexItem = styled(EuiFlexItem)` border-right: 1px solid #d3dae6; @@ -66,14 +63,7 @@ export const ExceptionItemCardMetaInfo = memo( key={reference.id} > - - {reference.name} - + )); @@ -136,15 +126,12 @@ export const ExceptionItemCardMetaInfo = memo( key={listAndReferences.id} > - - {listAndReferences.name} - + /> , ]} diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/linked_to_rule/index.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/linked_to_rule/index.test.tsx index 1b6f7bcb069b1..e963c8d7707f9 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/linked_to_rule/index.test.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/linked_to_rule/index.test.tsx @@ -24,8 +24,7 @@ describe('ExceptionsLinkedToRule', () => { /> ); - expect(wrapper.find('[data-test-subj="ruleNameCell"]').at(0).text()).toEqual('NameMy rule'); - expect(wrapper.find('[data-test-subj="ruleAction-viewDetails"]').exists()).toBeTruthy(); + expect(wrapper.find('[data-test-subj="linkToRuleSecuritySolutionLink"]').exists()).toBeTruthy(); }); }); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/utils.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/utils.tsx index 712da253477ab..0a92a46592dfd 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/utils.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_exceptions/components/flyout_components/utils.tsx @@ -20,8 +20,6 @@ import { generateLinkedRulesMenuItems, } from '@kbn/securitysolution-exception-list-components'; import { PopoverItems } from '../../../../common/components/popover_items'; -import { SecurityPageName } from '../../../../../common/constants'; -import { ListDetailsLinkAnchor } from '../../../../exceptions/components'; import { enrichExceptionItemsWithOS, enrichNewExceptionItemsWithComments, @@ -31,14 +29,12 @@ import { enrichSharedExceptions, lowercaseHashValues, } from '../../utils/helpers'; -import { SecuritySolutionLinkAnchor } from '../../../../common/components/links'; -import { getRuleDetailsTabUrl } from '../../../../common/components/link_to/redirect_to_detection_engine'; -import { RuleDetailTabs } from '../../../rule_details_ui/pages/rule_details/use_rule_details_tabs'; import type { ExceptionListRuleReferencesInfoSchema, ExceptionListRuleReferencesSchema, } from '../../../../../common/api/detection_engine/rule_exceptions'; import type { Rule } from '../../../rule_management/logic/types'; +import { LinkToRuleDetails, LinkToListDetails } from '../../../../exceptions/components'; import * as i18n from './translations'; /** @@ -222,7 +218,7 @@ export const getSharedListsTableColumns = () => [ actions={generateLinkedRulesMenuItems({ dataTestSubj: 'addToSharedListsLinkedRulesMenu', linkedRules: references, - securityLinkAnchorComponent: ListDetailsLinkAnchor, + securityLinkAnchorComponent: LinkToRuleDetails, })} panelPaddingSize="none" disableActions={false} @@ -237,14 +233,12 @@ export const getSharedListsTableColumns = () => [ 'data-test-subj': 'exceptionListRulesActionCell', render: (list: ExceptionListRuleReferencesSchema) => { return ( - - {i18n.VIEW_LIST_DETAIL_ACTION} - + /> ); }, }, @@ -294,14 +288,11 @@ export const getRulesTableColumn = () => [ 'data-test-subj': 'ruleAction-view', render: (rule: Rule) => { return ( - - {i18n.VIEW_RULE_DETAIL_ACTION} - + referenceId={rule.id} + referenceName={i18n.VIEW_RULE_DETAIL_ACTION} + /> ); }, }, diff --git a/x-pack/plugins/security_solution/public/exceptions/components/index.ts b/x-pack/plugins/security_solution/public/exceptions/components/index.ts index 8de30af731151..66d203327cc37 100644 --- a/x-pack/plugins/security_solution/public/exceptions/components/index.ts +++ b/x-pack/plugins/security_solution/public/exceptions/components/index.ts @@ -8,7 +8,8 @@ export * from './create_shared_exception_list'; export * from './exceptions_list_card'; export * from './exceptions_utility'; export * from './import_exceptions_list_flyout'; -export * from './list_details_link_anchor'; +export * from './link_to_rule_details'; +export * from './link_to_list_details'; export * from './list_exception_items'; export * from './list_with_search'; export * from './manage_rules'; diff --git a/x-pack/plugins/security_solution/public/exceptions/components/link_to_list_details/index.tsx b/x-pack/plugins/security_solution/public/exceptions/components/link_to_list_details/index.tsx new file mode 100644 index 0000000000000..20e99dc7de60b --- /dev/null +++ b/x-pack/plugins/security_solution/public/exceptions/components/link_to_list_details/index.tsx @@ -0,0 +1,45 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import type { FC } from 'react'; + +import { SecuritySolutionLinkAnchor } from '../../../common/components/links'; +import { SecurityPageName } from '../../../../common/constants'; + +interface LinkToListDetailsProps { + linkTitle: string; + listId: string; + external?: boolean; + dataTestSubj?: string; +} +// This component should be removed and moved to @kbn/securitysolution-exception-list-components +// once all the building components get moved + +const LinkToListDetailsComponent: FC = ({ + linkTitle, + listId, + external, + dataTestSubj, +}) => { + return ( + + {linkTitle} + + ); +}; + +LinkToListDetailsComponent.displayName = 'LinkToListDetailsComponent'; + +export const LinkToListDetails = React.memo(LinkToListDetailsComponent); + +LinkToListDetails.displayName = 'LinkToListDetails'; diff --git a/x-pack/plugins/security_solution/public/exceptions/components/list_details_link_anchor/index.tsx b/x-pack/plugins/security_solution/public/exceptions/components/link_to_rule_details/index.tsx similarity index 68% rename from x-pack/plugins/security_solution/public/exceptions/components/list_details_link_anchor/index.tsx rename to x-pack/plugins/security_solution/public/exceptions/components/link_to_rule_details/index.tsx index 4b54600fc454d..d2526f6fdef03 100644 --- a/x-pack/plugins/security_solution/public/exceptions/components/list_details_link_anchor/index.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/components/link_to_rule_details/index.tsx @@ -7,34 +7,41 @@ import React from 'react'; import type { FC } from 'react'; + +import { SecuritySolutionLinkAnchor } from '../../../common/components/links'; import { RuleDetailTabs } from '../../../detection_engine/rule_details_ui/pages/rule_details/use_rule_details_tabs'; import { SecurityPageName } from '../../../../common/constants'; import { getRuleDetailsTabUrl } from '../../../common/components/link_to/redirect_to_detection_engine'; -import { SecuritySolutionLinkAnchor } from '../../../common/components/links'; -interface LinkAnchorProps { +interface LinkToRuleDetailsProps { referenceName: string; referenceId: string; external?: boolean; + dataTestSubj?: string; } // This component should be removed and moved to @kbn/securitysolution-exception-list-components // once all the building components get moved -const LinkAnchor: FC = ({ referenceName, referenceId, external }) => { +const LinkToRuleDetailsComponent: FC = ({ + referenceName, + referenceId, + external, + dataTestSubj, +}) => { return ( {referenceName} ); }; -LinkAnchor.displayName = 'LinkAnchor'; +LinkToRuleDetailsComponent.displayName = 'LinkToRuleDetailsComponent'; -export const ListDetailsLinkAnchor = React.memo(LinkAnchor); +export const LinkToRuleDetails = React.memo(LinkToRuleDetailsComponent); -ListDetailsLinkAnchor.displayName = 'ListDetailsLinkAnchor'; +LinkToRuleDetails.displayName = 'LinkToRuleDetails'; diff --git a/x-pack/plugins/security_solution/public/exceptions/components/list_exception_items/index.tsx b/x-pack/plugins/security_solution/public/exceptions/components/list_exception_items/index.tsx index ee45e7414184f..1b1b6ad36d1ea 100644 --- a/x-pack/plugins/security_solution/public/exceptions/components/list_exception_items/index.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/components/list_exception_items/index.tsx @@ -19,7 +19,7 @@ import type { ExceptionListItemSchema } from '@kbn/securitysolution-io-ts-list-t import type { Pagination } from '@elastic/eui'; import { FormattedDate } from '../../../common/components/formatted_date'; import { getFormattedComments } from '../../utils/ui.helpers'; -import { ListDetailsLinkAnchor } from '../list_details_link_anchor'; +import { LinkToRuleDetails } from '../link_to_rule_details'; import { ExceptionsUtility } from '../exceptions_utility'; import * as i18n from '../../translations/list_exception_items'; @@ -89,7 +89,7 @@ const ListExceptionItemsComponent: FC = ({ onEditExceptionItem={onEditExceptionItem} onDeleteException={onDeleteException} getFormattedComments={getFormattedComments} - securityLinkAnchorComponent={ListDetailsLinkAnchor} + securityLinkAnchorComponent={LinkToRuleDetails} formattedDateComponent={FormattedDate} onCreateExceptionListItem={onCreateExceptionListItem} exceptionsUtilityComponent={() => diff --git a/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx b/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx index 4272632d28a10..c153f1e983b0a 100644 --- a/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx +++ b/x-pack/plugins/security_solution/public/exceptions/pages/list_detail_view/index.tsx @@ -22,7 +22,7 @@ import type { Rule } from '../../../detection_engine/rule_management/logic/types import { MissingPrivilegesCallOut } from '../../../detections/components/callouts/missing_privileges_callout'; import { NotFoundPage } from '../../../app/404'; import { AutoDownload } from '../../../common/components/auto_download/auto_download'; -import { ListWithSearch, ManageRules, ListDetailsLinkAnchor } from '../../components'; +import { ListWithSearch, ManageRules, LinkToRuleDetails } from '../../components'; import { useListDetailsView } from '../../hooks'; import * as i18n from '../../translations'; import type { CheckExceptionTtlActionTypes } from '../../components/expired_exceptions_list_items_modal'; @@ -109,7 +109,7 @@ export const ListsDetailViewComponent: FC = () => { isReadonly={isReadOnly} canUserEditList={canUserEditList} backOptions={headerBackOptions} - securityLinkAnchorComponent={ListDetailsLinkAnchor} + securityLinkAnchorComponent={LinkToRuleDetails} onEditListDetails={onEditListDetails} onExportList={handleExportList} onDeleteList={handleDelete} From 6ab7ec48cfd962b573e6f3f7ff9f4b12779df413 Mon Sep 17 00:00:00 2001 From: "Joey F. Poon" Date: Thu, 14 Sep 2023 08:15:36 -0700 Subject: [PATCH 041/149] [Security Solution] fix projectId not populating for metering records (#166417) --- .../server/endpoint/constants/metering.ts | 1 + .../services/metering_service.test.ts | 4 ++-- .../endpoint/services/metering_service.ts | 21 ++++++++++++++----- .../server/plugin.ts | 4 ++-- .../server/types.ts | 2 +- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/x-pack/plugins/security_solution_serverless/server/endpoint/constants/metering.ts b/x-pack/plugins/security_solution_serverless/server/endpoint/constants/metering.ts index 59d0e63c510e5..c4647e9bb8b10 100644 --- a/x-pack/plugins/security_solution_serverless/server/endpoint/constants/metering.ts +++ b/x-pack/plugins/security_solution_serverless/server/endpoint/constants/metering.ts @@ -14,4 +14,5 @@ export const METERING_TASK = { SAMPLE_PERIOD_SECONDS: 3600, THRESHOLD_MINUTES: 30, USAGE_TYPE_PREFIX: 'security_solution_', + MISSING_PROJECT_ID: 'missing_project_id', }; diff --git a/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.test.ts b/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.test.ts index 58265076ce1c4..e459fdcff3bde 100644 --- a/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.test.ts +++ b/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.test.ts @@ -96,7 +96,7 @@ describe('EndpointMeteringService', () => { const usageRecords = await endpointMeteringService.getUsageRecords(args); expect(usageRecords[0]).toEqual({ - id: `endpoint-${agentId}-${timestamp}`, + id: `endpoint-${agentId}-${timestamp.toISOString()}`, usage_timestamp: heartbeatDocSrc!.event.ingested, creation_timestamp: heartbeatDocSrc!.event.ingested, usage: { @@ -140,7 +140,7 @@ describe('EndpointMeteringService', () => { : `${ProductLine.cloud}_${ProductLine.endpoint}`; expect(usageRecords[0]).toEqual({ - id: `endpoint-${agentId}-${timestamp}`, + id: `endpoint-${agentId}-${timestamp.toISOString()}`, usage_timestamp: heartbeatDocSrc!.event.ingested, creation_timestamp: heartbeatDocSrc!.event.ingested, usage: { diff --git a/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.ts b/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.ts index efa23e6698a3a..765ffcfeb76a4 100644 --- a/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.ts +++ b/x-pack/plugins/security_solution_serverless/server/endpoint/services/metering_service.ts @@ -6,7 +6,7 @@ */ import type { AggregationsAggregate, SearchResponse } from '@elastic/elasticsearch/lib/api/types'; -import type { ElasticsearchClient } from '@kbn/core/server'; +import type { ElasticsearchClient, Logger } from '@kbn/core/server'; import { ENDPOINT_HEARTBEAT_INDEX } from '@kbn/security-solution-plugin/common/endpoint/constants'; import type { EndpointHeartbeat } from '@kbn/security-solution-plugin/common/endpoint/types'; @@ -14,6 +14,7 @@ import { ProductLine, ProductTier } from '../../../common/product'; import type { UsageRecord, MeteringCallbackInput } from '../../types'; import type { ServerlessSecurityConfig } from '../../config'; + import { METERING_TASK } from '../constants/metering'; export class EndpointMeteringService { @@ -27,6 +28,7 @@ export class EndpointMeteringService { abortController, lastSuccessfulReport, config, + logger, }: MeteringCallbackInput): Promise => { this.setType(config); if (!this.type) { @@ -52,6 +54,7 @@ export class EndpointMeteringService { const { agent, event } = _source; const record = this.buildMeteringRecord({ + logger, agentId: agent.id, timestampStr: event.ingested, taskId, @@ -87,11 +90,13 @@ export class EndpointMeteringService { } private buildMeteringRecord({ + logger, agentId, timestampStr, taskId, - projectId = '', + projectId, }: { + logger: Logger; agentId: string; timestampStr: string; taskId: string; @@ -102,10 +107,10 @@ export class EndpointMeteringService { timestamp.setSeconds(0); timestamp.setMilliseconds(0); - return { + const usageRecord = { // keep endpoint instead of this.type as id prefix so // we don't double count in the event of add-on changes - id: `endpoint-${agentId}-${timestamp}`, + id: `endpoint-${agentId}-${timestamp.toISOString()}`, usage_timestamp: timestampStr, creation_timestamp: timestampStr, usage: { @@ -116,12 +121,18 @@ export class EndpointMeteringService { }, source: { id: taskId, - instance_group_id: projectId, + instance_group_id: projectId || METERING_TASK.MISSING_PROJECT_ID, metadata: { tier: this.tier, }, }, }; + + if (!projectId) { + logger.error(`project id missing for record: ${JSON.stringify(usageRecord)}`); + } + + return usageRecord; } private setType(config: ServerlessSecurityConfig) { diff --git a/x-pack/plugins/security_solution_serverless/server/plugin.ts b/x-pack/plugins/security_solution_serverless/server/plugin.ts index 950b5837fe02b..5d85f31de8c16 100644 --- a/x-pack/plugins/security_solution_serverless/server/plugin.ts +++ b/x-pack/plugins/security_solution_serverless/server/plugin.ts @@ -72,7 +72,7 @@ export class SecuritySolutionServerlessPlugin logFactory: this.initializerContext.logger, config: this.config, taskManager: pluginsSetup.taskManager, - cloudSetup: pluginsSetup.cloudSetup, + cloudSetup: pluginsSetup.cloud, taskType: cloudSecurityMetringTaskProperties.taskType, taskTitle: cloudSecurityMetringTaskProperties.taskTitle, version: cloudSecurityMetringTaskProperties.version, @@ -88,7 +88,7 @@ export class SecuritySolutionServerlessPlugin version: ENDPOINT_METERING_TASK.VERSION, meteringCallback: endpointMeteringService.getUsageRecords, taskManager: pluginsSetup.taskManager, - cloudSetup: pluginsSetup.cloudSetup, + cloudSetup: pluginsSetup.cloud, }); pluginsSetup.serverless.setupProjectSettings(SECURITY_PROJECT_SETTINGS); diff --git a/x-pack/plugins/security_solution_serverless/server/types.ts b/x-pack/plugins/security_solution_serverless/server/types.ts index 1beca2fc23b9d..5c2aa0818cfd2 100644 --- a/x-pack/plugins/security_solution_serverless/server/types.ts +++ b/x-pack/plugins/security_solution_serverless/server/types.ts @@ -38,7 +38,7 @@ export interface SecuritySolutionServerlessPluginSetupDeps { features: PluginSetupContract; ml: MlPluginSetup; taskManager: TaskManagerSetupContract; - cloudSetup: CloudSetup; + cloud: CloudSetup; } export interface SecuritySolutionServerlessPluginStartDeps { From 51068521b8e85eb756ec1f5d37b3e677127055fb Mon Sep 17 00:00:00 2001 From: Faisal Kanout Date: Thu, 14 Sep 2023 17:33:58 +0200 Subject: [PATCH 042/149] [AO] Fix flaky test (#166179) ## Summary It fixes https://github.com/elastic/kibana/issues/165619 ## Notes: - The issue wasn't related to the `/_alertSummary` endpoint and wouldn't be fixed after merging the new update from ResponsOps PR. (tested here with a clone PR https://github.com/elastic/kibana/pull/166273) - The failing test is so little flaky only **0.5%** , after each update I run the flaky-test-runner to run 400 times. - The issue seems related to three things that has been done: - Waiting for the rule details page to load - Use LogThreshold instead of the Uptime rule - The mocking lib seems to miss the mock sometimes with Uptime and makes the real function be called without a `featureIds` ## DoD - The PR has been tested 2 x 400 = 800 times with 0 fails -> https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3100 --- .../apps/observability/pages/rule_details_page.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/x-pack/test/observability_functional/apps/observability/pages/rule_details_page.ts b/x-pack/test/observability_functional/apps/observability/pages/rule_details_page.ts index 5f09137850a2d..f7f9b1eb9ff00 100644 --- a/x-pack/test/observability_functional/apps/observability/pages/rule_details_page.ts +++ b/x-pack/test/observability_functional/apps/observability/pages/rule_details_page.ts @@ -36,8 +36,7 @@ export default ({ getService }: FtrProviderContext) => { return true; } - // FLAKY: https://github.com/elastic/kibana/issues/165619 - describe.skip('Observability Rule Details page', function () { + describe('Observability Rule Details page', function () { this.tags('includeFirefox'); let uptimeRuleId: string; @@ -149,10 +148,14 @@ export default ({ getService }: FtrProviderContext) => { describe('Alert summary widget component', () => { before(async () => { - await observability.alerts.common.navigateToRuleDetailsByRuleId(uptimeRuleId); + await observability.alerts.common.navigateToRuleDetailsByRuleId(logThresholdRuleId); + await retry.waitFor( + 'Rule details to be visible', + async () => await testSubjects.exists('ruleDetails') + ); }); - it('shows component on the rule detils page', async () => { + it('shows component on the rule details page', async () => { await observability.components.alertSummaryWidget.getCompactComponentSelectorOrFail(); const timeRangeTitle = From 39cf3718b3341a7902da1fff85786c7ff5832862 Mon Sep 17 00:00:00 2001 From: Marco Antonio Ghiani Date: Thu, 14 Sep 2023 17:48:46 +0200 Subject: [PATCH 043/149] [Log Explorer] Add "Add data" button (#166266) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 📓 Summary Closes #165486 This work restructured the entry point for the 2 different header menus (stateful, serverless) and added both of them the Add data button to navigate to the onboarding page. **Stateful** Screenshot 2023-09-12 at 16 01 16 **Serverless** Screenshot 2023-09-12 at 15 49 09 --------- Co-authored-by: Marco Antonio Ghiani Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../common/translations.ts | 7 + .../observability_log_explorer/kibana.jsonc | 5 +- .../observability_log_explorer.tsx | 11 +- .../components/log_explorer_top_nav_menu.tsx | 159 ++++++++++++++++-- .../public/routes/main/main_route.tsx | 17 +- .../public/types.ts | 2 + .../public/utils/get_router_link_props.ts | 35 ++++ .../observability_log_explorer/tsconfig.json | 3 + .../observability_onboarding/public/index.ts | 1 + .../observability_log_explorer/header_menu.ts | 26 +++ .../observability_log_explorer.ts | 4 + .../observability_log_explorer/header_menu.ts | 26 +++ 12 files changed, 259 insertions(+), 37 deletions(-) create mode 100644 x-pack/plugins/observability_log_explorer/public/utils/get_router_link_props.ts diff --git a/x-pack/plugins/observability_log_explorer/common/translations.ts b/x-pack/plugins/observability_log_explorer/common/translations.ts index 2abf660538260..8974c8a3f449e 100644 --- a/x-pack/plugins/observability_log_explorer/common/translations.ts +++ b/x-pack/plugins/observability_log_explorer/common/translations.ts @@ -28,3 +28,10 @@ export const discoverLinkTitle = i18n.translate( defaultMessage: 'Discover', } ); + +export const onboardingLinkTitle = i18n.translate( + 'xpack.observabilityLogExplorer.onboardingLinkTitle', + { + defaultMessage: 'Add data', + } +); diff --git a/x-pack/plugins/observability_log_explorer/kibana.jsonc b/x-pack/plugins/observability_log_explorer/kibana.jsonc index 529f879a56386..15beb1ed3c8d2 100644 --- a/x-pack/plugins/observability_log_explorer/kibana.jsonc +++ b/x-pack/plugins/observability_log_explorer/kibana.jsonc @@ -15,11 +15,12 @@ "data", "discover", "logExplorer", - "observabilityShared" + "observabilityShared", + "share" ], "optionalPlugins": [ "serverless" ], - "requiredBundles": ["kibanaReact"] + "requiredBundles": ["kibanaReact", "observabilityOnboarding"] } } diff --git a/x-pack/plugins/observability_log_explorer/public/applications/observability_log_explorer.tsx b/x-pack/plugins/observability_log_explorer/public/applications/observability_log_explorer.tsx index 999ebdd3095bf..562ff3ba9d109 100644 --- a/x-pack/plugins/observability_log_explorer/public/applications/observability_log_explorer.tsx +++ b/x-pack/plugins/observability_log_explorer/public/applications/observability_log_explorer.tsx @@ -52,7 +52,6 @@ export const ObservabilityLogExplorerApp = ({ plugins, pluginStart, }: ObservabilityLogExplorerAppProps) => { - const { logExplorer, observabilityShared, serverless } = plugins; const KibanaContextProviderForPlugin = useKibanaContextForPluginProvider( core, plugins, @@ -67,15 +66,7 @@ export const ObservabilityLogExplorerApp = ({ ( - - )} + render={() => } /> diff --git a/x-pack/plugins/observability_log_explorer/public/components/log_explorer_top_nav_menu.tsx b/x-pack/plugins/observability_log_explorer/public/components/log_explorer_top_nav_menu.tsx index 0e8ec200da871..dab2ddb772010 100644 --- a/x-pack/plugins/observability_log_explorer/public/components/log_explorer_top_nav_menu.tsx +++ b/x-pack/plugins/observability_log_explorer/public/components/log_explorer_top_nav_menu.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React from 'react'; +import React, { useEffect } from 'react'; import deepEqual from 'fast-deep-equal'; import useObservable from 'react-use/lib/useObservable'; import { type BehaviorSubject, distinctUntilChanged } from 'rxjs'; @@ -13,59 +13,148 @@ import { HeaderMenuPortal } from '@kbn/observability-shared-plugin/public'; import { AppMountParameters } from '@kbn/core-application-browser'; import { EuiBetaBadge, + EuiButton, + EuiHeader, EuiHeaderLink, EuiHeaderLinks, EuiHeaderSection, EuiHeaderSectionItem, useEuiTheme, } from '@elastic/eui'; -import { css } from '@emotion/react'; import { LogExplorerStateContainer } from '@kbn/log-explorer-plugin/public'; -import { useKibanaContextForPlugin } from '../utils/use_kibana'; -import { betaBadgeDescription, betaBadgeTitle, discoverLinkTitle } from '../../common/translations'; +import { + OBSERVABILITY_ONBOARDING_LOCATOR, + ObservabilityOnboardingLocatorParams, +} from '@kbn/observability-onboarding-plugin/public'; +import { KibanaReactContextValue } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; +import { css } from '@emotion/react'; +import { PluginKibanaContextValue } from '../utils/use_kibana'; +import { + betaBadgeDescription, + betaBadgeTitle, + discoverLinkTitle, + onboardingLinkTitle, +} from '../../common/translations'; +import { getRouterLinkProps } from '../utils/get_router_link_props'; interface LogExplorerTopNavMenuProps { setHeaderActionMenu: AppMountParameters['setHeaderActionMenu']; + services: KibanaReactContextValue['services']; state$: BehaviorSubject; theme$: AppMountParameters['theme$']; } export const LogExplorerTopNavMenu = ({ setHeaderActionMenu, + services, state$, theme$, }: LogExplorerTopNavMenuProps) => { + const { serverless } = services; + + return Boolean(serverless) ? ( + + ) : ( + + ); +}; + +const ServerlessTopNav = ({ + services, + state$, +}: Pick) => { const { euiTheme } = useEuiTheme(); return ( - + + + + + + + + - - - + + + + + + ); +}; + +const StatefulTopNav = ({ + setHeaderActionMenu, + services, + state$, + theme$, +}: LogExplorerTopNavMenuProps) => { + const { euiTheme } = useEuiTheme(); + + useEffect(() => { + const { chrome, i18n, theme } = services; + + if (chrome) { + chrome.setBreadcrumbsAppendExtension({ + content: toMountPoint( + + + + + , + { theme, i18n } + ), + }); + } + }, [euiTheme, services]); + + return ( + + + + + + + + ); }; const DiscoverLink = React.memo( - ({ state$ }: { state$: BehaviorSubject }) => { - const { - services: { discover }, - } = useKibanaContextForPlugin(); - + ({ services, state$ }: Pick) => { const { appState, logExplorerState } = useObservable( state$.pipe( distinctUntilChanged((prev, curr) => { @@ -91,9 +180,20 @@ const DiscoverLink = React.memo( dataViewSpec: logExplorerState?.datasetSelection?.selection.dataset.toDataviewSpec(), }; + const discoverUrl = services.discover.locator?.getRedirectUrl(discoverLinkParams); + + const navigateToDiscover = () => { + services.discover.locator?.navigate(discoverLinkParams); + }; + + const discoverLinkProps = getRouterLinkProps({ + href: discoverUrl, + onClick: navigateToDiscover, + }); + return ( discover.locator?.navigate(discoverLinkParams)} + {...discoverLinkProps} color="primary" iconType="discoverApp" data-test-subj="logExplorerDiscoverFallbackLink" @@ -103,3 +203,32 @@ const DiscoverLink = React.memo( ); } ); + +const OnboardingLink = React.memo(({ services }: Pick) => { + const locator = services.share.url.locators.get( + OBSERVABILITY_ONBOARDING_LOCATOR + ); + + const onboardingUrl = locator?.useUrl({}); + + const navigateToOnboarding = () => { + locator?.navigate({}); + }; + + const onboardingLinkProps = getRouterLinkProps({ + href: onboardingUrl, + onClick: navigateToOnboarding, + }); + + return ( + + {onboardingLinkTitle} + + ); +}); diff --git a/x-pack/plugins/observability_log_explorer/public/routes/main/main_route.tsx b/x-pack/plugins/observability_log_explorer/public/routes/main/main_route.tsx index 7b224da830433..b4eb120ba3cae 100644 --- a/x-pack/plugins/observability_log_explorer/public/routes/main/main_route.tsx +++ b/x-pack/plugins/observability_log_explorer/public/routes/main/main_route.tsx @@ -6,38 +6,35 @@ */ import { AppMountParameters, CoreStart } from '@kbn/core/public'; -import { LogExplorerPluginStart } from '@kbn/log-explorer-plugin/public'; -import { ObservabilitySharedPluginStart } from '@kbn/observability-shared-plugin/public'; -import { ServerlessPluginStart } from '@kbn/serverless/public'; import React, { useState } from 'react'; import { BehaviorSubject } from 'rxjs'; import { LogExplorerTopNavMenu } from '../../components/log_explorer_top_nav_menu'; import { ObservabilityLogExplorerPageTemplate } from '../../components/page_template'; import { noBreadcrumbs, useBreadcrumbs } from '../../utils/breadcrumbs'; +import { useKibanaContextForPlugin } from '../../utils/use_kibana'; export interface ObservablityLogExplorerMainRouteProps { appParams: AppMountParameters; core: CoreStart; - logExplorer: LogExplorerPluginStart; - observabilityShared: ObservabilitySharedPluginStart; - serverless?: ServerlessPluginStart; } export const ObservablityLogExplorerMainRoute = ({ - appParams: { history, setHeaderActionMenu, theme$ }, + appParams, core, - logExplorer, - observabilityShared, - serverless, }: ObservablityLogExplorerMainRouteProps) => { + const { services } = useKibanaContextForPlugin(); + const { logExplorer, observabilityShared, serverless } = services; useBreadcrumbs(noBreadcrumbs, core.chrome, serverless); + const { history, setHeaderActionMenu, theme$ } = appParams; + const [state$] = useState(() => new BehaviorSubject({})); return ( <> diff --git a/x-pack/plugins/observability_log_explorer/public/types.ts b/x-pack/plugins/observability_log_explorer/public/types.ts index e52ece9ca1624..48b2ad624796a 100644 --- a/x-pack/plugins/observability_log_explorer/public/types.ts +++ b/x-pack/plugins/observability_log_explorer/public/types.ts @@ -10,6 +10,7 @@ import { DiscoverStart } from '@kbn/discover-plugin/public'; import { LogExplorerPluginStart } from '@kbn/log-explorer-plugin/public'; import { ObservabilitySharedPluginStart } from '@kbn/observability-shared-plugin/public'; import { ServerlessPluginStart } from '@kbn/serverless/public'; +import { SharePluginStart } from '@kbn/share-plugin/public'; // eslint-disable-next-line @typescript-eslint/no-empty-interface export interface ObservabilityLogExplorerPluginSetup {} @@ -27,4 +28,5 @@ export interface ObservabilityLogExplorerStartDeps { logExplorer: LogExplorerPluginStart; observabilityShared: ObservabilitySharedPluginStart; serverless?: ServerlessPluginStart; + share: SharePluginStart; } diff --git a/x-pack/plugins/observability_log_explorer/public/utils/get_router_link_props.ts b/x-pack/plugins/observability_log_explorer/public/utils/get_router_link_props.ts new file mode 100644 index 0000000000000..a325df1a7e86f --- /dev/null +++ b/x-pack/plugins/observability_log_explorer/public/utils/get_router_link_props.ts @@ -0,0 +1,35 @@ +/* + * 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. + */ + +interface GetRouterLinkPropsDeps { + href?: string; + onClick(): void; +} + +const isModifiedEvent = (event: React.MouseEvent) => + !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey); + +const isLeftClickEvent = (event: React.MouseEvent) => event.button === 0; + +export const getRouterLinkProps = ({ href, onClick }: GetRouterLinkPropsDeps) => { + const guardedClickHandler = (event: React.MouseEvent) => { + if (event.defaultPrevented) { + return; + } + + if (isModifiedEvent(event) || !isLeftClickEvent(event)) { + return; + } + + // Prevent regular link behavior, which causes a browser refresh. + event.preventDefault(); + + onClick(); + }; + + return { href, onClick: guardedClickHandler }; +}; diff --git a/x-pack/plugins/observability_log_explorer/tsconfig.json b/x-pack/plugins/observability_log_explorer/tsconfig.json index ae9660b421359..0100aa5abb37a 100644 --- a/x-pack/plugins/observability_log_explorer/tsconfig.json +++ b/x-pack/plugins/observability_log_explorer/tsconfig.json @@ -24,6 +24,9 @@ "@kbn/config-schema", "@kbn/core-application-browser", "@kbn/discover-plugin", + "@kbn/observability-onboarding-plugin", + "@kbn/react-kibana-mount", + "@kbn/share-plugin", ], "exclude": [ "target/**/*" diff --git a/x-pack/plugins/observability_onboarding/public/index.ts b/x-pack/plugins/observability_onboarding/public/index.ts index d4a667b9e7269..b83c5b6d5cad0 100644 --- a/x-pack/plugins/observability_onboarding/public/index.ts +++ b/x-pack/plugins/observability_onboarding/public/index.ts @@ -18,6 +18,7 @@ import { } from './plugin'; export { OBSERVABILITY_ONBOARDING_LOCATOR } from './locators/onboarding_locator/locator_definition'; +export type { ObservabilityOnboardingLocatorParams } from './locators/onboarding_locator/types'; export interface ConfigSchema { ui: { diff --git a/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts b/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts index ee15563b7f208..7cc6f74c452e6 100644 --- a/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts +++ b/x-pack/test/functional/apps/observability_log_explorer/header_menu.ts @@ -8,6 +8,7 @@ import expect from '@kbn/expect'; import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { + const browser = getService('browser'); const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); const retry = getService('retry'); @@ -35,6 +36,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); describe('Discover fallback link', () => { + before(async () => { + await PageObjects.observabilityLogExplorer.navigateTo(); + }); + it('should render a button link ', async () => { const discoverLink = await PageObjects.observabilityLogExplorer.getDiscoverFallbackLink(); expect(await discoverLink.isDisplayed()).to.be(true); @@ -77,5 +82,26 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); }); + + describe('Add data link', () => { + before(async () => { + await PageObjects.observabilityLogExplorer.navigateTo(); + }); + + it('should render a button link ', async () => { + const onboardingLink = await PageObjects.observabilityLogExplorer.getOnboardingLink(); + expect(await onboardingLink.isDisplayed()).to.be(true); + }); + + it('should navigate to the observability onboarding overview page', async () => { + const onboardingLink = await PageObjects.observabilityLogExplorer.getOnboardingLink(); + onboardingLink.click(); + + await retry.try(async () => { + const url = await browser.getCurrentUrl(); + expect(url).to.contain(`/app/observabilityOnboarding`); + }); + }); + }); }); } diff --git a/x-pack/test/functional/page_objects/observability_log_explorer.ts b/x-pack/test/functional/page_objects/observability_log_explorer.ts index 7e4b83083ace0..9e46c9bf826a3 100644 --- a/x-pack/test/functional/page_objects/observability_log_explorer.ts +++ b/x-pack/test/functional/page_objects/observability_log_explorer.ts @@ -323,6 +323,10 @@ export function ObservabilityLogExplorerPageObject({ return testSubjects.find('logExplorerDiscoverFallbackLink'); }, + getOnboardingLink() { + return testSubjects.find('logExplorerOnboardingLink'); + }, + // Query Bar getQueryBar() { return testSubjects.find('queryInput'); diff --git a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts index 0b40780aace2b..5e3d235f10c53 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/observability_log_explorer/header_menu.ts @@ -8,6 +8,7 @@ import expect from '@kbn/expect'; import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { + const browser = getService('browser'); const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); const retry = getService('retry'); @@ -36,6 +37,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); describe('Discover fallback link', () => { + before(async () => { + await PageObjects.observabilityLogExplorer.navigateTo(); + }); + it('should render a button link ', async () => { const discoverLink = await PageObjects.observabilityLogExplorer.getDiscoverFallbackLink(); expect(await discoverLink.isDisplayed()).to.be(true); @@ -78,5 +83,26 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); }); + + describe('Add data link', () => { + before(async () => { + await PageObjects.observabilityLogExplorer.navigateTo(); + }); + + it('should render a button link ', async () => { + const onboardingLink = await PageObjects.observabilityLogExplorer.getOnboardingLink(); + expect(await onboardingLink.isDisplayed()).to.be(true); + }); + + it('should navigate to the observability onboarding overview page', async () => { + const onboardingLink = await PageObjects.observabilityLogExplorer.getOnboardingLink(); + onboardingLink.click(); + + await retry.try(async () => { + const url = await browser.getCurrentUrl(); + expect(url).to.contain(`/app/observabilityOnboarding`); + }); + }); + }); }); } From 519c4d6249c182dea7fab2ef61388a55d05aeab1 Mon Sep 17 00:00:00 2001 From: Shahzad Date: Thu, 14 Sep 2023 17:49:11 +0200 Subject: [PATCH 044/149] [Synthetics] Added ability to hide public locations (#164863) --- .../common/runtime_types/monitor/index.ts | 1 - .../common/runtime_types/monitor/locations.ts | 31 ----- .../monitor_management/monitor_types.ts | 6 +- .../common/components/permissions.tsx | 23 +++- .../monitor_add_edit/form/field_config.tsx | 121 ++++++++++-------- .../monitor_add_edit/form/index.tsx | 5 +- .../monitor_add_edit/form/run_test_btn.tsx | 8 +- .../monitor_add_edit/form/submit.tsx | 18 ++- .../monitor_add_edit/monitor_edit_page.tsx | 14 +- .../monitor_add_edit/steps/index.tsx | 11 +- .../steps/read_only_callout.tsx | 80 +++++++++--- .../hooks/use_selected_location.tsx | 13 +- .../monitor_details/run_test_manually.tsx | 12 +- .../hooks/use_can_use_public_loc_id.ts | 25 ++++ .../management/monitor_list_table/columns.tsx | 29 ++++- .../monitor_list_table/monitor_enabled.tsx | 14 +- .../monitor_list_table/monitor_locations.tsx | 13 +- .../overview/overview/actions_popover.tsx | 35 +++-- .../overview/overview/metric_item.tsx | 3 +- .../overview/overview/overview_grid_item.tsx | 3 +- .../hooks/use_location_name.test.tsx | 18 +-- .../synthetics/hooks/use_location_name.tsx | 13 +- .../public/hooks/use_capabilities.ts | 13 ++ x-pack/plugins/synthetics/server/feature.ts | 31 +++++ .../routes/monitor_cruds/delete_monitor.ts | 21 ++- .../routes/monitor_cruds/edit_monitor.ts | 47 +++++-- .../get_service_locations.ts | 43 +++++-- .../synthetics_service/get_all_locations.ts | 5 + .../apis/security/privileges.ts | 2 +- .../apis/security/privileges_basic.ts | 8 +- 30 files changed, 470 insertions(+), 196 deletions(-) delete mode 100644 x-pack/plugins/synthetics/common/runtime_types/monitor/locations.ts create mode 100644 x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_can_use_public_loc_id.ts diff --git a/x-pack/plugins/synthetics/common/runtime_types/monitor/index.ts b/x-pack/plugins/synthetics/common/runtime_types/monitor/index.ts index 41daa9d2148ad..1aa698e715db2 100644 --- a/x-pack/plugins/synthetics/common/runtime_types/monitor/index.ts +++ b/x-pack/plugins/synthetics/common/runtime_types/monitor/index.ts @@ -5,5 +5,4 @@ * 2.0. */ -export * from './locations'; export * from './state'; diff --git a/x-pack/plugins/synthetics/common/runtime_types/monitor/locations.ts b/x-pack/plugins/synthetics/common/runtime_types/monitor/locations.ts deleted file mode 100644 index e37621c47ddf9..0000000000000 --- a/x-pack/plugins/synthetics/common/runtime_types/monitor/locations.ts +++ /dev/null @@ -1,31 +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 * as t from 'io-ts'; -import { CheckGeoType, SummaryType } from '../common'; - -// IO type for validation -export const MonitorLocationType = t.type({ - up_history: t.number, - down_history: t.number, - timestamp: t.string, - summary: SummaryType, - geo: CheckGeoType, -}); - -// Typescript type for type checking -export type MonitorLocation = t.TypeOf; - -export const MonitorLocationsType = t.intersection([ - t.type({ - monitorId: t.string, - up_history: t.number, - down_history: t.number, - }), - t.partial({ locations: t.array(MonitorLocationType) }), -]); -export type MonitorLocations = t.TypeOf; diff --git a/x-pack/plugins/synthetics/common/runtime_types/monitor_management/monitor_types.ts b/x-pack/plugins/synthetics/common/runtime_types/monitor_management/monitor_types.ts index 99ce709c2672e..af2304acb9e24 100644 --- a/x-pack/plugins/synthetics/common/runtime_types/monitor_management/monitor_types.ts +++ b/x-pack/plugins/synthetics/common/runtime_types/monitor_management/monitor_types.ts @@ -46,6 +46,10 @@ export const TLSSensitiveFieldsCodec = t.partial({ export const TLSCodec = t.intersection([TLSFieldsCodec, TLSSensitiveFieldsCodec]); +const MonitorLocationsCodec = t.array(t.union([MonitorServiceLocationCodec, PrivateLocationCodec])); + +export type MonitorLocations = t.TypeOf; + // CommonFields export const CommonFieldsCodec = t.intersection([ t.interface({ @@ -56,7 +60,7 @@ export const CommonFieldsCodec = t.intersection([ [ConfigKey.SCHEDULE]: ScheduleCodec, [ConfigKey.APM_SERVICE_NAME]: t.string, [ConfigKey.TAGS]: t.array(t.string), - [ConfigKey.LOCATIONS]: t.array(t.union([MonitorServiceLocationCodec, PrivateLocationCodec])), + [ConfigKey.LOCATIONS]: MonitorLocationsCodec, [ConfigKey.MONITOR_QUERY_ID]: t.string, [ConfigKey.CONFIG_ID]: t.string, }), diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/common/components/permissions.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/common/components/permissions.tsx index 425a1f2ee0c60..f9dd560e4742e 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/common/components/permissions.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/common/components/permissions.tsx @@ -30,12 +30,14 @@ export const FleetPermissionsCallout = () => { */ export const NoPermissionsTooltip = ({ canEditSynthetics = true, + canUsePublicLocations = true, children, }: { canEditSynthetics?: boolean; + canUsePublicLocations?: boolean; children: ReactNode; }) => { - const disabledMessage = getRestrictionReasonLabel(canEditSynthetics); + const disabledMessage = getRestrictionReasonLabel(canEditSynthetics, canUsePublicLocations); if (disabledMessage) { return ( @@ -47,8 +49,16 @@ export const NoPermissionsTooltip = ({ return <>{children}; }; -function getRestrictionReasonLabel(canEditSynthetics = true): string | undefined { - return !canEditSynthetics ? CANNOT_PERFORM_ACTION_SYNTHETICS : undefined; +function getRestrictionReasonLabel( + canEditSynthetics = true, + canUsePublicLocations = true +): string | undefined { + const message = !canEditSynthetics ? CANNOT_PERFORM_ACTION_SYNTHETICS : undefined; + if (message) { + return message; + } + + return !canUsePublicLocations ? CANNOT_PERFORM_ACTION_PUBLIC_LOCATIONS : undefined; } export const NEED_PERMISSIONS_PRIVATE_LOCATIONS = i18n.translate( @@ -83,3 +93,10 @@ export const CANNOT_PERFORM_ACTION_SYNTHETICS = i18n.translate( defaultMessage: 'You do not have sufficient permissions to perform this action.', } ); + +export const CANNOT_PERFORM_ACTION_PUBLIC_LOCATIONS = i18n.translate( + 'xpack.synthetics.monitorManagement.canUsePublicLocations', + { + defaultMessage: 'You do not have sufficient permissions to use Elastic managed locations.', + } +); diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx index 67c49f6030208..a7ab9c4e7d56f 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/field_config.tsx @@ -78,6 +78,7 @@ import { ResponseCheckJSON, ThrottlingConfig, RequestBodyCheck, + SourceType, } from '../types'; import { AlertConfigKey, ALLOWED_SCHEDULES_IN_MINUTES } from '../constants'; import { getDefaultFormFields } from './defaults'; @@ -404,8 +405,8 @@ export const FIELD = (readOnly?: boolean): FieldMap => ({ props: ({ field, setValue, locations, trigger }) => { return { options: Object.values(locations).map((location) => ({ - label: locations?.find((loc) => location.id === loc.id)?.label || '', - id: location.id || '', + label: location.label, + id: location.id, isServiceManaged: location.isServiceManaged || false, isInvalid: location.isInvalid, disabled: location.isInvalid, @@ -417,7 +418,9 @@ export const FIELD = (readOnly?: boolean): FieldMap => ({ : location.isServiceManaged ? 'default' : 'primary', - label: locations?.find((loc) => location.id === loc.id)?.label ?? location.id, + label: + (location.label || locations?.find((loc) => location.id === loc.id)?.label) ?? + location.id, id: location.id || '', isServiceManaged: location.isServiceManaged || false, })), @@ -483,66 +486,78 @@ export const FIELD = (readOnly?: boolean): FieldMap => ({ helpText: i18n.translate('xpack.synthetics.monitorConfig.edit.enabled.label', { defaultMessage: `When disabled, the monitor doesn't run any tests. You can enable it at any time.`, }), - props: ({ setValue, field, trigger }): EuiSwitchProps => ({ - id: 'syntheticsMontiorConfigIsEnabled', - label: i18n.translate('xpack.synthetics.monitorConfig.enabled.label', { - defaultMessage: 'Enable Monitor', - }), - checked: field?.value || false, - onChange: async (event) => { - setValue(ConfigKey.ENABLED, !!event.target.checked); - await trigger(ConfigKey.ENABLED); - }, - 'data-test-subj': 'syntheticsEnableSwitch', - // enabled is an allowed field for read only - // isDisabled: readOnly, - }), + props: ({ setValue, field, trigger, formState }): EuiSwitchProps => { + const isProjectMonitor = + formState.defaultValues?.[ConfigKey.MONITOR_SOURCE_TYPE] === SourceType.PROJECT; + return { + id: 'syntheticsMontiorConfigIsEnabled', + label: i18n.translate('xpack.synthetics.monitorConfig.enabled.label', { + defaultMessage: 'Enable Monitor', + }), + checked: field?.value || false, + onChange: async (event) => { + setValue(ConfigKey.ENABLED, !!event.target.checked); + await trigger(ConfigKey.ENABLED); + }, + 'data-test-subj': 'syntheticsEnableSwitch', + // enabled is an allowed field for read only + disabled: !isProjectMonitor && readOnly, + }; + }, }, [AlertConfigKey.STATUS_ENABLED]: { fieldKey: AlertConfigKey.STATUS_ENABLED, component: Switch, controlled: true, - props: ({ setValue, field, trigger }): EuiSwitchProps => ({ - id: 'syntheticsMonitorConfigIsAlertEnabled', - label: field?.value - ? i18n.translate('xpack.synthetics.monitorConfig.enabledAlerting.label', { - defaultMessage: 'Disable status alerts on this monitor', - }) - : i18n.translate('xpack.synthetics.monitorConfig.disabledAlerting.label', { - defaultMessage: 'Enable status alerts on this monitor', - }), - checked: field?.value || false, - onChange: async (event) => { - setValue(AlertConfigKey.STATUS_ENABLED, !!event.target.checked); - await trigger(AlertConfigKey.STATUS_ENABLED); - }, - 'data-test-subj': 'syntheticsAlertStatusSwitch', - // alert config is an allowed field for read only - // isDisabled: readOnly, - }), + props: ({ setValue, field, trigger, formState }): EuiSwitchProps => { + const isProjectMonitor = + formState.defaultValues?.[ConfigKey.MONITOR_SOURCE_TYPE] === SourceType.PROJECT; + return { + id: 'syntheticsMonitorConfigIsAlertEnabled', + label: field?.value + ? i18n.translate('xpack.synthetics.monitorConfig.enabledAlerting.label', { + defaultMessage: 'Disable status alerts on this monitor', + }) + : i18n.translate('xpack.synthetics.monitorConfig.disabledAlerting.label', { + defaultMessage: 'Enable status alerts on this monitor', + }), + checked: field?.value || false, + onChange: async (event) => { + setValue(AlertConfigKey.STATUS_ENABLED, !!event.target.checked); + await trigger(AlertConfigKey.STATUS_ENABLED); + }, + 'data-test-subj': 'syntheticsAlertStatusSwitch', + // alert config is an allowed field for read only + disabled: !isProjectMonitor && readOnly, + }; + }, }, [AlertConfigKey.TLS_ENABLED]: { fieldKey: AlertConfigKey.TLS_ENABLED, component: Switch, controlled: true, - props: ({ setValue, field, trigger }): EuiSwitchProps => ({ - id: 'syntheticsMonitorConfigIsTlsAlertEnabled', - label: field?.value - ? i18n.translate('xpack.synthetics.monitorConfig.edit.alertTlsEnabled.label', { - defaultMessage: 'Disable TLS alerts on this monitor.', - }) - : i18n.translate('xpack.synthetics.monitorConfig.create.alertTlsEnabled.label', { - defaultMessage: 'Enable TLS alerts on this monitor.', - }), - checked: field?.value || false, - onChange: async (event) => { - setValue(AlertConfigKey.TLS_ENABLED, !!event.target.checked); - await trigger(AlertConfigKey.TLS_ENABLED); - }, - 'data-test-subj': 'syntheticsAlertStatusSwitch', - // alert config is an allowed field for read only - // isDisabled: readOnly, - }), + props: ({ setValue, field, trigger, formState }): EuiSwitchProps => { + const isProjectMonitor = + formState.defaultValues?.[ConfigKey.MONITOR_SOURCE_TYPE] === SourceType.PROJECT; + return { + id: 'syntheticsMonitorConfigIsTlsAlertEnabled', + label: field?.value + ? i18n.translate('xpack.synthetics.monitorConfig.edit.alertTlsEnabled.label', { + defaultMessage: 'Disable TLS alerts on this monitor.', + }) + : i18n.translate('xpack.synthetics.monitorConfig.create.alertTlsEnabled.label', { + defaultMessage: 'Enable TLS alerts on this monitor.', + }), + checked: field?.value || false, + onChange: async (event) => { + setValue(AlertConfigKey.TLS_ENABLED, !!event.target.checked); + await trigger(AlertConfigKey.TLS_ENABLED); + }, + 'data-test-subj': 'syntheticsAlertStatusSwitch', + // alert config is an allowed field for read only + disabled: !isProjectMonitor && readOnly, + }; + }, }, [ConfigKey.TAGS]: { fieldKey: ConfigKey.TAGS, diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/index.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/index.tsx index 33c8ec03e5ff9..bfd7ac5149a88 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/index.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/index.tsx @@ -18,7 +18,8 @@ export const MonitorForm: React.FC<{ defaultValues?: SyntheticsMonitor; space?: string; readOnly?: boolean; -}> = ({ children, defaultValues, space, readOnly = false }) => { + canUsePublicLocations: boolean; +}> = ({ children, defaultValues, space, readOnly = false, canUsePublicLocations }) => { const methods = useFormWrapped({ mode: 'onSubmit', reValidateMode: 'onSubmit', @@ -43,7 +44,7 @@ export const MonitorForm: React.FC<{ > {children} - + diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/run_test_btn.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/run_test_btn.tsx index 4b73d71b90b09..316e57e4a5065 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/run_test_btn.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/form/run_test_btn.tsx @@ -16,7 +16,11 @@ import { format } from './formatter'; import { MonitorFields as MonitorFieldsType } from '../../../../../../common/runtime_types'; import { runOnceMonitor } from '../../../state/manual_test_runs/api'; -export const RunTestButton = () => { +export const RunTestButton = ({ + canUsePublicLocations = true, +}: { + canUsePublicLocations?: boolean; +}) => { const { formState, getValues, handleSubmit } = useFormContext(); const [inProgress, setInProgress] = useState(false); @@ -56,7 +60,7 @@ export const RunTestButton = () => { { +export const ActionBar = ({ + readOnly = false, + canUsePublicLocations = true, +}: { + readOnly: boolean; + canUsePublicLocations: boolean; +}) => { const { monitorId } = useParams<{ monitorId: string }>(); const history = useHistory(); const { @@ -59,6 +65,7 @@ export const ActionBar = ({ readOnly = false }: { readOnly: boolean }) => { onClick={() => { setMonitorPendingDeletion(defaultValues as SyntheticsMonitor); }} + isDisabled={!canEditSynthetics || !canUsePublicLocations} > {DELETE_MONITOR_LABEL} @@ -75,16 +82,19 @@ export const ActionBar = ({ readOnly = false }: { readOnly: boolean }) => { - + - + {isEdit ? UPDATE_MONITOR_LABEL : CREATE_MONITOR_LABEL} diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.tsx index 69b53c24d4cbc..16573ce19f57a 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/monitor_edit_page.tsx @@ -12,6 +12,7 @@ import { EuiEmptyPrompt } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { useTrackPageview, useFetcher } from '@kbn/observability-shared-plugin/public'; import { IHttpFetchError, ResponseErrorBody } from '@kbn/core-http-browser'; +import { useCanUsePublicLocations } from '../../../../hooks/use_capabilities'; import { EditMonitorNotFound } from './edit_monitor_not_found'; import { LoadingState } from '../monitors_page/overview/overview/monitor_detail_flyout'; import { ConfigKey, SourceType } from '../../../../../common/runtime_types'; @@ -50,11 +51,15 @@ export const MonitorEditPage: React.FC = () => { data?.id ); + const canUsePublicLocations = useCanUsePublicLocations(data?.[ConfigKey.LOCATIONS]); + if (monitorNotFoundError) { return ; } - const isReadOnly = data?.[ConfigKey.MONITOR_SOURCE_TYPE] === SourceType.PROJECT; + const isReadOnly = + data?.[ConfigKey.MONITOR_SOURCE_TYPE] === SourceType.PROJECT || !canUsePublicLocations; + const projectId = data?.[ConfigKey.PROJECT_ID]; if (locationsError) { @@ -87,8 +92,13 @@ export const MonitorEditPage: React.FC = () => { return data && locationsLoaded && !loading && !error ? ( <> - + { @@ -32,12 +34,9 @@ export const MonitorSteps = ({ return ( <> - {readOnly ? ( - <> - - - - ) : null} + {isEditFlow && ( + + )} {isEditFlow ? ( steps.map((step) => (
    diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/read_only_callout.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/read_only_callout.tsx index d20453be1c2ed..6f6f4533bb7dc 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/read_only_callout.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_add_edit/steps/read_only_callout.tsx @@ -5,27 +5,65 @@ * 2.0. */ import React from 'react'; -import { EuiCallOut } from '@elastic/eui'; +import { EuiCallOut, EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; -export const ReadOnlyCallout = ({ projectId }: { projectId?: string }) => { - return ( - - } - iconType="document" - > -

    - {projectId} }} - /> -

    - - ); +export const ReadOnlyCallout = ({ + projectId, + canUsePublicLocations, +}: { + projectId?: string; + canUsePublicLocations?: boolean; +}) => { + if (projectId) { + return ( + <> + + } + iconType="document" + > +

    + {projectId} }} + /> +

    +
    + + + ); + } + + if (!canUsePublicLocations) { + return ( + <> + + } + iconType="alert" + > +

    + +

    +
    + + + ); + } + + return null; }; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_location.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_location.tsx index df9785bb9b98c..eabea42a34162 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_location.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/hooks/use_selected_location.tsx @@ -7,6 +7,7 @@ import { useEffect, useMemo } from 'react'; import { useDispatch, useSelector } from 'react-redux'; +import { ServiceLocation } from '../../../../../../common/runtime_types'; import { useSelectedMonitor } from './use_selected_monitor'; import { selectSelectedLocationId, setMonitorDetailsLocationAction } from '../../../state'; import { useUrlParams, useLocations } from '../../../hooks'; @@ -41,8 +42,12 @@ export const useSelectedLocation = (updateUrl = true) => { monitor?.locations, ]); - return useMemo( - () => locations.find((loc) => loc.id === urlLocationId) ?? null, - [urlLocationId, locations] - ); + return useMemo(() => { + let selLoc = locations.find((loc) => loc.id === urlLocationId) ?? null; + if (!selLoc) { + selLoc = + (monitor?.locations?.find((loc) => loc.id === urlLocationId) as ServiceLocation) ?? null; + } + return selLoc; + }, [locations, urlLocationId, monitor?.locations]); }; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/run_test_manually.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/run_test_manually.tsx index 55fb54dd0d0dc..a05bea3f7925e 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/run_test_manually.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitor_details/run_test_manually.tsx @@ -9,6 +9,9 @@ import { EuiButton, EuiToolTip } from '@elastic/eui'; import React from 'react'; import { i18n } from '@kbn/i18n'; import { useDispatch, useSelector } from 'react-redux'; +import { CANNOT_PERFORM_ACTION_PUBLIC_LOCATIONS } from '../common/components/permissions'; +import { useCanUsePublicLocations } from '../../../../hooks/use_capabilities'; +import { ConfigKey } from '../../../../../common/constants/monitor_management'; import { TEST_NOW_ARIA_LABEL, TEST_SCHEDULED_LABEL } from '../monitor_add_edit/form/run_test_btn'; import { useSelectedMonitor } from './hooks/use_selected_monitor'; import { @@ -22,7 +25,13 @@ export const RunTestManually = () => { const { monitor } = useSelectedMonitor(); const testInProgress = useSelector(manualTestRunInProgressSelector(monitor?.config_id)); - const content = testInProgress ? TEST_SCHEDULED_LABEL : TEST_NOW_ARIA_LABEL; + const canUsePublicLocations = useCanUsePublicLocations(monitor?.[ConfigKey.LOCATIONS]); + + const content = !canUsePublicLocations + ? CANNOT_PERFORM_ACTION_PUBLIC_LOCATIONS + : testInProgress + ? TEST_SCHEDULED_LABEL + : TEST_NOW_ARIA_LABEL; return ( @@ -31,6 +40,7 @@ export const RunTestManually = () => { color="success" iconType="beaker" isLoading={!Boolean(monitor) || testInProgress} + isDisabled={!canUsePublicLocations} onClick={() => { if (monitor) { dispatch( diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_can_use_public_loc_id.ts b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_can_use_public_loc_id.ts new file mode 100644 index 0000000000000..16842a401dc46 --- /dev/null +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/hooks/use_can_use_public_loc_id.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. + */ + +import { useSelector } from 'react-redux'; +import { useKibana } from '@kbn/kibana-react-plugin/public'; +import { selectOverviewState } from '../../../state'; + +export const useCanUsePublicLocById = (configId: string) => { + const { + data: { monitors }, + } = useSelector(selectOverviewState); + + const hasManagedLocation = monitors?.filter( + (mon) => mon.configId === configId && mon.location.isServiceManaged + ); + + const canUsePublicLocations = + useKibana().services?.application?.capabilities.uptime.elasticManagedLocationsEnabled ?? true; + + return hasManagedLocation ? !!canUsePublicLocations : true; +}; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/columns.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/columns.tsx index 0c415ce3d4fb8..6d9c97df97d52 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/columns.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/columns.tsx @@ -10,6 +10,7 @@ import { i18n } from '@kbn/i18n'; import React from 'react'; import { useHistory } from 'react-router-dom'; import { FETCH_STATUS } from '@kbn/observability-shared-plugin/public'; +import { useKibana } from '@kbn/kibana-react-plugin/public'; import { useCanEditSynthetics } from '../../../../../../hooks/use_capabilities'; import { isStatusEnabled, @@ -55,6 +56,15 @@ export function useMonitorListColumns({ return alertStatus(fields[ConfigKey.CONFIG_ID]) === FETCH_STATUS.LOADING; }; + const canUsePublicLocations = + useKibana().services?.application?.capabilities.uptime.elasticManagedLocationsEnabled ?? true; + + const isPublicLocationsAllowed = (fields: EncryptedSyntheticsSavedMonitor) => { + const publicLocations = fields.locations.some((loc) => loc.isServiceManaged); + + return publicLocations ? Boolean(canUsePublicLocations) : true; + }; + const columns: Array> = [ { align: 'left' as const, @@ -166,14 +176,18 @@ export function useMonitorListColumns({ 'data-test-subj': 'syntheticsMonitorEditAction', isPrimary: true, name: (fields) => ( - + {labels.EDIT_LABEL} ), description: labels.EDIT_LABEL, icon: 'pencil' as const, type: 'icon' as const, - enabled: (fields) => canEditSynthetics && !isActionLoading(fields), + enabled: (fields) => + canEditSynthetics && !isActionLoading(fields) && isPublicLocationsAllowed(fields), onClick: (fields) => { history.push({ pathname: `/edit-monitor/${fields[ConfigKey.CONFIG_ID]}`, @@ -184,7 +198,10 @@ export function useMonitorListColumns({ 'data-test-subj': 'syntheticsMonitorDeleteAction', isPrimary: true, name: (fields) => ( - + {labels.DELETE_LABEL} ), @@ -192,7 +209,8 @@ export function useMonitorListColumns({ icon: 'trash' as const, type: 'icon' as const, color: 'danger' as const, - enabled: (fields) => canEditSynthetics && !isActionLoading(fields), + enabled: (fields) => + canEditSynthetics && !isActionLoading(fields) && isPublicLocationsAllowed(fields), onClick: (fields) => { setMonitorPendingDeletion(fields); }, @@ -207,7 +225,8 @@ export function useMonitorListColumns({ isStatusEnabled(fields[ConfigKey.ALERT_CONFIG]) ? 'bellSlash' : 'bell', type: 'icon' as const, color: 'danger' as const, - enabled: (fields) => canEditSynthetics && !isActionLoading(fields), + enabled: (fields) => + canEditSynthetics && !isActionLoading(fields) && isPublicLocationsAllowed(fields), onClick: (fields) => { updateAlertEnabledState({ monitor: { diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_enabled.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_enabled.tsx index c875b923a15c7..29555c0cf1e90 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_enabled.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/monitor_enabled.tsx @@ -10,7 +10,10 @@ import { EuiSwitch, EuiSwitchEvent, EuiLoadingSpinner } from '@elastic/eui'; import { euiStyled } from '@kbn/kibana-react-plugin/common'; import { FETCH_STATUS } from '@kbn/observability-shared-plugin/public'; import { ConfigKey, EncryptedSyntheticsMonitor } from '../../../../../../../common/runtime_types'; -import { useCanEditSynthetics } from '../../../../../../hooks/use_capabilities'; +import { + useCanEditSynthetics, + useCanUsePublicLocations, +} from '../../../../../../hooks/use_capabilities'; import { useMonitorEnableHandler } from '../../../../hooks'; import { NoPermissionsTooltip } from '../../../common/components/permissions'; import * as labels from './labels'; @@ -32,6 +35,8 @@ export const MonitorEnabled = ({ }: Props) => { const canEditSynthetics = useCanEditSynthetics(); + const canUsePublicLocations = useCanUsePublicLocations(monitor?.[ConfigKey.LOCATIONS]); + const monitorName = monitor[ConfigKey.NAME]; const statusLabels = useMemo(() => { return { @@ -63,11 +68,14 @@ export const MonitorEnabled = ({ {isLoading || initialLoading ? ( ) : ( - + { const locationsToDisplay = locations .map((loc) => { + if (loc.label) { + return { + id: loc.id, + label: loc.label, + ...getLocationStatusColor(theme, loc.id, monitorId, status), + }; + } const fullLoc = allLocations.find((l) => l.id === loc.id); if (fullLoc) { return { id: fullLoc.id, label: fullLoc.label, - ...getLocationStatusColor(theme, fullLoc.label, monitorId, status), + ...getLocationStatusColor(theme, fullLoc.id, monitorId, status), }; } }) @@ -41,7 +48,7 @@ export const MonitorLocations = ({ locations, monitorId, status }: Props) => { function getLocationStatusColor( euiTheme: ReturnType, - locationLabel: string | undefined, + locationId: string, monitorId: string, overviewStatus: OverviewStatusState | null ) { @@ -49,7 +56,7 @@ function getLocationStatusColor( eui: { euiColorVis9, euiColorVis0, euiColorDisabled }, } = euiTheme; - const locById = `${monitorId}-${locationLabel}`; + const locById = `${monitorId}-${locationId}`; if (overviewStatus?.downConfigs[locById]) { return { status: 'down', color: euiColorVis9 }; diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.tsx index ad3c29a0f77bf..55dcdb3d06341 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/actions_popover.tsx @@ -14,10 +14,13 @@ import { EuiPanel, EuiLoadingSpinner, EuiContextMenuPanelItemDescriptor, + EuiToolTip, } from '@elastic/eui'; import { FETCH_STATUS } from '@kbn/observability-shared-plugin/public'; import { useDispatch, useSelector } from 'react-redux'; import styled from 'styled-components'; +import { TEST_SCHEDULED_LABEL } from '../../../monitor_add_edit/form/run_test_btn'; +import { useCanUsePublicLocById } from '../../hooks/use_can_use_public_loc_id'; import { toggleStatusAlert } from '../../../../../../../common/runtime_types/monitor_management/alert_config'; import { manualTestMonitorAction, @@ -101,8 +104,7 @@ export function ActionsPopover({ }: Props) { const euiShadow = useEuiShadow('l'); const dispatch = useDispatch(); - const location = useLocationName({ locationId }); - const locationName = location?.label || monitor.location.id; + const locationName = useLocationName(monitor); const detailUrl = useMonitorDetailLocator({ configId: monitor.configId, @@ -112,6 +114,8 @@ export function ActionsPopover({ const canEditSynthetics = useCanEditSynthetics(); + const canUsePublicLocations = useCanUsePublicLocById(monitor.configId); + const labels = useMemo( () => ({ enabledSuccessLabel: enabledSuccessLabel(monitor.name), @@ -163,7 +167,6 @@ export function ActionsPopover({ }; const alertLoading = alertStatus(monitor.configId) === FETCH_STATUS.LOADING; - let popoverItems: EuiContextMenuPanelItemDescriptor[] = [ { name: actionsMenuGoToMonitorName, @@ -172,9 +175,17 @@ export function ActionsPopover({ }, quickInspectPopoverItem, { - name: runTestManually, + name: testInProgress ? ( + + {runTestManually} + + ) : ( + + {runTestManually} + + ), icon: 'beaker', - disabled: testInProgress, + disabled: testInProgress || !canUsePublicLocations, onClick: () => { dispatch(manualTestMonitorAction.get({ configId: monitor.configId, name: monitor.name })); dispatch(setFlyoutConfig(null)); @@ -193,12 +204,15 @@ export function ActionsPopover({ }, { name: ( - + {enableLabel} ), icon: 'invert', - disabled: !canEditSynthetics, + disabled: !canEditSynthetics || !canUsePublicLocations, onClick: () => { if (status !== FETCH_STATUS.LOADING) { updateMonitorEnabledState(!monitor.isEnabled); @@ -207,11 +221,14 @@ export function ActionsPopover({ }, { name: ( - + {monitor.isStatusAlertEnabled ? disableAlertLabel : enableMonitorAlertLabel} ), - disabled: !canEditSynthetics, + disabled: !canEditSynthetics || !canUsePublicLocations, icon: alertLoading ? ( ) : monitor.isStatusAlertEnabled ? ( diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item.tsx index ce6de294d7e60..8cd43387cf710 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/metric_item.tsx @@ -64,8 +64,7 @@ export const MetricItem = ({ const [isMouseOver, setIsMouseOver] = useState(false); const [isPopoverOpen, setIsPopoverOpen] = useState(false); const isErrorPopoverOpen = useSelector(selectErrorPopoverState); - const locationName = - useLocationName({ locationId: monitor.location.id })?.label || monitor.location?.id; + const locationName = useLocationName(monitor); const { status, timestamp, ping, configIdByLocation } = useStatusByLocationOverview( monitor.configId, monitor.location.id diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid_item.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid_item.tsx index 3fb27e202f996..501fcb4a4136f 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid_item.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/overview/overview/overview_grid_item.tsx @@ -27,8 +27,7 @@ export const OverviewGridItem = ({ monitor: MonitorOverviewItem; onClick: (params: FlyoutParamProps) => void; }) => { - const locationName = - useLocationName({ locationId: monitor.location?.id })?.label || monitor.location?.id; + const locationName = useLocationName(monitor); const { timestamp } = useStatusByLocationOverview(monitor.configId, locationName); diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.test.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.test.tsx index d03b70d94768c..f798880608bcc 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.test.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.test.tsx @@ -8,6 +8,7 @@ import React from 'react'; import { renderHook } from '@testing-library/react-hooks'; import { useLocationName } from './use_location_name'; import { WrappedHelper } from '../utils/testing'; +import { MonitorOverviewItem } from '../../../../common/runtime_types'; describe('useLocationName', () => { beforeEach(() => { @@ -47,16 +48,11 @@ describe('useLocationName', () => { const { result } = renderHook( () => useLocationName({ - locationId: 'us_central', - }), + location: { id: 'us_central' }, + } as MonitorOverviewItem), { wrapper: WrapperWithState } ); - expect(result.current).toEqual({ - id: 'us_central', - isServiceManaged: true, - label: 'US Central', - url: 'mockUrl', - }); + expect(result.current).toEqual('US Central'); }); it('returns the location id if matching location cannot be found', () => { @@ -92,10 +88,10 @@ describe('useLocationName', () => { const { result } = renderHook( () => useLocationName({ - locationId: 'us_west', - }), + location: { id: 'us_west' }, + } as MonitorOverviewItem), { wrapper: WrapperWithState } ); - expect(result.current).toEqual(undefined); + expect(result.current).toEqual('us_west'); }); }); diff --git a/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.tsx b/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.tsx index 31782083541e2..b25112b15bb10 100644 --- a/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.tsx +++ b/x-pack/plugins/synthetics/public/apps/synthetics/hooks/use_location_name.tsx @@ -7,9 +7,10 @@ import { useMemo, useEffect } from 'react'; import { useSelector, useDispatch } from 'react-redux'; +import { MonitorOverviewItem } from '../../../../common/runtime_types'; import { selectServiceLocationsState, getServiceLocations } from '../state'; -export function useLocationName({ locationId }: { locationId: string }) { +export function useLocationName(monitor: MonitorOverviewItem) { const dispatch = useDispatch(); const { locationsLoaded, locations } = useSelector(selectServiceLocationsState); useEffect(() => { @@ -17,12 +18,14 @@ export function useLocationName({ locationId }: { locationId: string }) { dispatch(getServiceLocations()); } }); + const locationId = monitor?.location.id; return useMemo(() => { - if (!locationsLoaded) { - return undefined; + if (!locationsLoaded || monitor.location.label) { + return monitor.location.label ?? monitor.location.id; } else { - return locations.find((location) => location.id === locationId); + const location = locations.find((loc) => loc.id === locationId); + return location?.label ?? (monitor.location.label || monitor.location.id); } - }, [locationsLoaded, locations, locationId]); + }, [locationsLoaded, locations, locationId, monitor]); } diff --git a/x-pack/plugins/synthetics/public/hooks/use_capabilities.ts b/x-pack/plugins/synthetics/public/hooks/use_capabilities.ts index 5cde14df84f0e..082f9d9450d7c 100644 --- a/x-pack/plugins/synthetics/public/hooks/use_capabilities.ts +++ b/x-pack/plugins/synthetics/public/hooks/use_capabilities.ts @@ -6,7 +6,20 @@ */ import { useKibana } from '@kbn/kibana-react-plugin/public'; +import { MonitorLocations } from '../../common/runtime_types'; export const useCanEditSynthetics = () => { return !!useKibana().services?.application?.capabilities.uptime.save; }; + +export const useCanUsePublicLocations = (monLocations?: MonitorLocations) => { + const canUsePublicLocations = + useKibana().services?.application?.capabilities.uptime.elasticManagedLocationsEnabled ?? true; + const publicLocations = monLocations?.some((loc) => loc.isServiceManaged); + + if (!publicLocations) { + return true; + } + + return !!canUsePublicLocations; +}; diff --git a/x-pack/plugins/synthetics/server/feature.ts b/x-pack/plugins/synthetics/server/feature.ts index 36a5888928680..1a19baa01dcbe 100644 --- a/x-pack/plugins/synthetics/server/feature.ts +++ b/x-pack/plugins/synthetics/server/feature.ts @@ -7,6 +7,11 @@ import { DEFAULT_APP_CATEGORIES } from '@kbn/core/server'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; +import { i18n } from '@kbn/i18n'; +import { + SubFeaturePrivilegeGroupConfig, + SubFeaturePrivilegeGroupType, +} from '@kbn/features-plugin/common'; import { syntheticsMonitorType, syntheticsParamType } from '../common/types/saved_objects'; import { SYNTHETICS_RULE_TYPES } from '../common/constants/synthetics_alerts'; import { privateLocationsSavedObjectName } from '../common/saved_objects/private_locations'; @@ -27,6 +32,24 @@ const ruleTypes = [ OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, ]; +const elasticManagedLocationsEnabledPrivilege: SubFeaturePrivilegeGroupConfig = { + groupType: 'independent' as SubFeaturePrivilegeGroupType, + privileges: [ + { + id: 'elastic_managed_locations_enabled', + name: i18n.translate('xpack.synthetics.features.elasticManagedLocations', { + defaultMessage: 'Elastic managed locations enabled', + }), + includeIn: 'all', + savedObject: { + all: [], + read: [], + }, + ui: ['elasticManagedLocationsEnabled'], + }, + ], +}; + export const uptimeFeature = { id: PLUGIN.ID, name: PLUGIN.NAME, @@ -94,4 +117,12 @@ export const uptimeFeature = { ui: ['show', 'alerting:save'], }, }, + subFeatures: [ + { + name: i18n.translate('xpack.synthetics.features.app', { + defaultMessage: 'Synthetics', + }), + privilegeGroups: [elasticManagedLocationsEnabledPrivilege], + }, + ], }; diff --git a/x-pack/plugins/synthetics/server/routes/monitor_cruds/delete_monitor.ts b/x-pack/plugins/synthetics/server/routes/monitor_cruds/delete_monitor.ts index 4841ca581c077..0d5825dbbdd3f 100644 --- a/x-pack/plugins/synthetics/server/routes/monitor_cruds/delete_monitor.ts +++ b/x-pack/plugins/synthetics/server/routes/monitor_cruds/delete_monitor.ts @@ -6,6 +6,7 @@ */ import { schema } from '@kbn/config-schema'; import { SavedObjectsClientContract, SavedObjectsErrorHelpers } from '@kbn/core/server'; +import { validatePermissions } from './edit_monitor'; import { SyntheticsServerSetup } from '../../types'; import { RouteContext, SyntheticsRestApiRouteFactory } from '../types'; import { syntheticsMonitorType } from '../../../common/types/saved_objects'; @@ -39,10 +40,13 @@ export const deleteSyntheticsMonitorRoute: SyntheticsRestApiRouteFactory = () => const { monitorId } = request.params; try { - const errors = await deleteMonitor({ + const { errors, res } = await deleteMonitor({ routeContext, monitorId, }); + if (res) { + return res; + } if (errors && errors.length > 0) { return response.ok({ @@ -68,7 +72,7 @@ export const deleteMonitor = async ({ routeContext: RouteContext; monitorId: string; }) => { - const { spaceId, savedObjectsClient, server, syntheticsMonitorClient } = routeContext; + const { response, spaceId, savedObjectsClient, server, syntheticsMonitorClient } = routeContext; const { logger, telemetry, stackVersion } = server; const { monitor, monitorWithSecret } = await getMonitorToDelete( @@ -78,6 +82,17 @@ export const deleteMonitor = async ({ spaceId ); + const err = await validatePermissions(routeContext, monitor.attributes.locations); + if (err) { + return { + res: response.forbidden({ + body: { + message: err, + }, + }), + }; + } + let deletePromise; try { @@ -113,7 +128,7 @@ export const deleteMonitor = async ({ ) ); - return errors; + return { errors }; } catch (e) { if (deletePromise) { await deletePromise; diff --git a/x-pack/plugins/synthetics/server/routes/monitor_cruds/edit_monitor.ts b/x-pack/plugins/synthetics/server/routes/monitor_cruds/edit_monitor.ts index d99261b49f2cf..69960d458c684 100644 --- a/x-pack/plugins/synthetics/server/routes/monitor_cruds/edit_monitor.ts +++ b/x-pack/plugins/synthetics/server/routes/monitor_cruds/edit_monitor.ts @@ -8,6 +8,7 @@ import { schema } from '@kbn/config-schema'; import { SavedObjectsUpdateResponse, SavedObject } from '@kbn/core/server'; import { SavedObjectsErrorHelpers } from '@kbn/core/server'; import { DEFAULT_SPACE_ID } from '@kbn/spaces-plugin/common'; +import { getDecryptedMonitor } from '../../saved_objects/synthetics_monitor'; import { getPrivateLocations } from '../../synthetics_service/get_private_locations'; import { mergeSourceMonitor } from './helper'; import { RouteContext, SyntheticsRestApiRouteFactory } from '../types'; @@ -18,6 +19,7 @@ import { SyntheticsMonitorWithSecretsAttributes, SyntheticsMonitor, ConfigKey, + MonitorLocations, } from '../../../common/runtime_types'; import { SYNTHETICS_API_URLS } from '../../../common/constants'; import { validateMonitor } from './monitor_validation'; @@ -39,10 +41,10 @@ export const editSyntheticsMonitorRoute: SyntheticsRestApiRouteFactory = () => ( }), body: schema.any(), }, + writeAccess: true, handler: async (routeContext): Promise => { const { request, response, savedObjectsClient, server } = routeContext; - const { encryptedSavedObjects, logger } = server; - const encryptedSavedObjectsClient = encryptedSavedObjects.getClient(); + const { logger } = server; const monitor = request.body as SyntheticsMonitor; const { monitorId } = request.params; @@ -55,14 +57,11 @@ export const editSyntheticsMonitorRoute: SyntheticsRestApiRouteFactory = () => ( /* Decrypting the previous monitor before editing ensures that all existing fields remain * on the object, even in flows where decryption does not take place, such as the enabled tab * on the monitor list table. We do not decrypt monitors in bulk for the monitor list table */ - const decryptedPreviousMonitor = - await encryptedSavedObjectsClient.getDecryptedAsInternalUser( - syntheticsMonitorType, - monitorId, - { - namespace: previousMonitor.namespaces?.[0], - } - ); + const decryptedPreviousMonitor = await getDecryptedMonitor( + server, + monitorId, + previousMonitor.namespaces?.[0]! + ); const normalizedPreviousMonitor = normalizeSecrets(decryptedPreviousMonitor).attributes; const editedMonitor = mergeSourceMonitor(normalizedPreviousMonitor, monitor); @@ -74,6 +73,15 @@ export const editSyntheticsMonitorRoute: SyntheticsRestApiRouteFactory = () => ( return response.badRequest({ body: { message, attributes: { details, ...payload } } }); } + const err = await validatePermissions(routeContext, editedMonitor.locations); + if (err) { + return response.forbidden({ + body: { + message: err, + }, + }); + } + const monitorWithRevision = { ...validationResult.decodedMonitor, /* reset config hash to empty string. Ensures that the synthetics agent is able @@ -230,3 +238,22 @@ export const syncEditedMonitor = async ({ throw e; } }; + +export const validatePermissions = async ( + { server, response, request }: RouteContext, + monitorLocations: MonitorLocations +) => { + const hasPublicLocations = monitorLocations?.some((loc) => loc.isServiceManaged); + if (!hasPublicLocations) { + return; + } + + const elasticManagedLocationsEnabled = + Boolean( + (await server.coreStart?.capabilities.resolveCapabilities(request)).uptime + .elasticManagedLocationsEnabled + ) ?? true; + if (!elasticManagedLocationsEnabled) { + return "You don't have permission to use public locations"; + } +}; diff --git a/x-pack/plugins/synthetics/server/routes/synthetics_service/get_service_locations.ts b/x-pack/plugins/synthetics/server/routes/synthetics_service/get_service_locations.ts index 01f4946b3508f..8c4df4a2461f8 100644 --- a/x-pack/plugins/synthetics/server/routes/synthetics_service/get_service_locations.ts +++ b/x-pack/plugins/synthetics/server/routes/synthetics_service/get_service_locations.ts @@ -5,6 +5,8 @@ * 2.0. */ +import { toClientContract } from '../settings/private_locations/helpers'; +import { getPrivateLocationsAndAgentPolicies } from '../settings/private_locations/get_private_locations'; import { SyntheticsRestApiRouteFactory } from '../types'; import { getAllLocations } from '../../synthetics_service/get_all_locations'; import { SYNTHETICS_API_URLS } from '../../../common/constants'; @@ -13,16 +15,37 @@ export const getServiceLocationsRoute: SyntheticsRestApiRouteFactory = () => ({ method: 'GET', path: SYNTHETICS_API_URLS.SERVICE_LOCATIONS, validate: {}, - handler: async ({ server, savedObjectsClient, syntheticsMonitorClient }): Promise => { - const { throttling, allLocations } = await getAllLocations({ - server, - syntheticsMonitorClient, - savedObjectsClient, - }); + handler: async ({ + request, + server, + savedObjectsClient, + syntheticsMonitorClient, + }): Promise => { + const elasticManagedLocationsEnabled = + Boolean( + (await server.coreStart?.capabilities.resolveCapabilities(request)).uptime + .elasticManagedLocationsEnabled + ) ?? true; - return { - locations: allLocations, - throttling, - }; + if (elasticManagedLocationsEnabled) { + const { throttling, allLocations } = await getAllLocations({ + server, + syntheticsMonitorClient, + savedObjectsClient, + }); + + return { + locations: allLocations, + throttling, + }; + } else { + const { locations: privateLocations, agentPolicies } = + await getPrivateLocationsAndAgentPolicies(savedObjectsClient, syntheticsMonitorClient); + + const result = toClientContract({ locations: privateLocations }, agentPolicies).locations; + return { + locations: result, + }; + } }, }); diff --git a/x-pack/plugins/synthetics/server/synthetics_service/get_all_locations.ts b/x-pack/plugins/synthetics/server/synthetics_service/get_all_locations.ts index 491bde96d4067..6eb6a62547156 100644 --- a/x-pack/plugins/synthetics/server/synthetics_service/get_all_locations.ts +++ b/x-pack/plugins/synthetics/server/synthetics_service/get_all_locations.ts @@ -47,6 +47,11 @@ const getServicePublicLocations = async ( server: SyntheticsServerSetup, syntheticsMonitorClient: SyntheticsMonitorClient ) => { + if (!syntheticsMonitorClient.syntheticsService.isAllowed) { + return { + locations: [], + }; + } if (syntheticsMonitorClient.syntheticsService.locations.length === 0) { return await getServiceLocations(server); } diff --git a/x-pack/test/api_integration/apis/security/privileges.ts b/x-pack/test/api_integration/apis/security/privileges.ts index d49df52bfcd1c..c786a41411a5b 100644 --- a/x-pack/test/api_integration/apis/security/privileges.ts +++ b/x-pack/test/api_integration/apis/security/privileges.ts @@ -55,7 +55,7 @@ export default function ({ getService }: FtrProviderContext) { 'file_operations_all', 'execute_operations_all', ], - uptime: ['all', 'read', 'minimal_all', 'minimal_read'], + uptime: ['all', 'read', 'minimal_all', 'minimal_read', 'elastic_managed_locations_enabled'], securitySolutionAssistant: ['all', 'read', 'minimal_all', 'minimal_read'], securitySolutionCases: ['all', 'read', 'minimal_all', 'minimal_read', 'cases_delete'], infrastructure: ['all', 'read', 'minimal_all', 'minimal_read'], diff --git a/x-pack/test/api_integration/apis/security/privileges_basic.ts b/x-pack/test/api_integration/apis/security/privileges_basic.ts index c6982b3c6d53e..6c6d32c1cb1e9 100644 --- a/x-pack/test/api_integration/apis/security/privileges_basic.ts +++ b/x-pack/test/api_integration/apis/security/privileges_basic.ts @@ -130,7 +130,13 @@ export default function ({ getService }: FtrProviderContext) { 'file_operations_all', 'execute_operations_all', ], - uptime: ['all', 'read', 'minimal_all', 'minimal_read'], + uptime: [ + 'all', + 'elastic_managed_locations_enabled', + 'read', + 'minimal_all', + 'minimal_read', + ], securitySolutionAssistant: ['all', 'read', 'minimal_all', 'minimal_read'], securitySolutionCases: ['all', 'read', 'minimal_all', 'minimal_read', 'cases_delete'], infrastructure: ['all', 'read', 'minimal_all', 'minimal_read'], From c7d2eb55ff324296f6817a3dfd718c88537f7f17 Mon Sep 17 00:00:00 2001 From: Rachel Shen Date: Thu, 14 Sep 2023 10:13:36 -0600 Subject: [PATCH 045/149] [Fix Reporting Serverless] ILM disabling in reporting client (#166005) ## Summary Closes https://github.com/elastic/kibana/issues/165999 This PR adds to the config `disableStatefulSettings`. The error originates in the `x-pack/plugins/reporting/server/lib/deprecations/check_ilm_migration_status.ts` that is then called by the reporting api client ``` jsx ... this.disableStatefulSettings ? null : this.http.put(INTERNAL_ROUTES.MIGRATE.MIGRATE_ILM_POLICY); ``` I thought an appropriate fix would be adding this setting to the config vs a topical fix in the check_ilm_migration_status to include any other stateful settings that are not permitted in the serverless offering. The store is also inhibiting the csv generation from working. Testing csv downloads works now in Discover. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../__test__/report_listing.test.helpers.tsx | 1 + .../public/management/report_listing.tsx | 2 +- x-pack/plugins/reporting/public/plugin.ts | 1 + .../config/__snapshots__/schema.test.ts.snap | 6 ++++ .../server/config/create_config.test.ts | 6 ++++ .../plugins/reporting/server/config/index.ts | 2 +- .../reporting/server/config/schema.test.ts | 8 +++++ .../plugins/reporting/server/config/schema.ts | 8 +++++ .../reporting/server/lib/store/store.test.ts | 2 ++ .../reporting/server/lib/store/store.ts | 30 +++++++++++-------- .../create_mock_reportingplugin.ts | 1 + 11 files changed, 53 insertions(+), 14 deletions(-) diff --git a/x-pack/plugins/reporting/public/management/__test__/report_listing.test.helpers.tsx b/x-pack/plugins/reporting/public/management/__test__/report_listing.test.helpers.tsx index fc1b0f25d9c01..2d24736d7e13b 100644 --- a/x-pack/plugins/reporting/public/management/__test__/report_listing.test.helpers.tsx +++ b/x-pack/plugins/reporting/public/management/__test__/report_listing.test.helpers.tsx @@ -70,6 +70,7 @@ export const mockConfig = { roles: { enabled: false, }, + statefulSettings: { enabled: true }, }; const validCheck = { diff --git a/x-pack/plugins/reporting/public/management/report_listing.tsx b/x-pack/plugins/reporting/public/management/report_listing.tsx index 74753437f54ce..49607c6f38710 100644 --- a/x-pack/plugins/reporting/public/management/report_listing.tsx +++ b/x-pack/plugins/reporting/public/management/report_listing.tsx @@ -109,7 +109,7 @@ class ReportListingUi extends Component { } /> - + {config.statefulSettings.enabled ? : null}
    {this.renderTable()}
    diff --git a/x-pack/plugins/reporting/public/plugin.ts b/x-pack/plugins/reporting/public/plugin.ts index 912f519d60002..46e425b54239d 100644 --- a/x-pack/plugins/reporting/public/plugin.ts +++ b/x-pack/plugins/reporting/public/plugin.ts @@ -47,6 +47,7 @@ export interface ClientConfigType { poll: { jobsRefresh: { interval: number; intervalErrorMultiplier: number } }; roles: { enabled: boolean }; export_types: { pdf: { enabled: boolean }; png: { enabled: boolean }; csv: { enabled: boolean } }; + statefulSettings: { enabled: boolean }; } function getStored(): JobId[] { diff --git a/x-pack/plugins/reporting/server/config/__snapshots__/schema.test.ts.snap b/x-pack/plugins/reporting/server/config/__snapshots__/schema.test.ts.snap index 48f834d238795..1c9a695f4a78e 100644 --- a/x-pack/plugins/reporting/server/config/__snapshots__/schema.test.ts.snap +++ b/x-pack/plugins/reporting/server/config/__snapshots__/schema.test.ts.snap @@ -55,6 +55,9 @@ Object { ], "enabled": true, }, + "statefulSettings": Object { + "enabled": true, + }, } `; @@ -112,5 +115,8 @@ Object { ], "enabled": true, }, + "statefulSettings": Object { + "enabled": true, + }, } `; diff --git a/x-pack/plugins/reporting/server/config/create_config.test.ts b/x-pack/plugins/reporting/server/config/create_config.test.ts index 0a10b859bb18f..dbb16d050297f 100644 --- a/x-pack/plugins/reporting/server/config/create_config.test.ts +++ b/x-pack/plugins/reporting/server/config/create_config.test.ts @@ -51,6 +51,9 @@ describe('Reporting server createConfig', () => { port: 5677, protocol: 'httpsa', }, + statefulSettings: { + enabled: true, + }, }); const result = createConfig(mockCoreSetup, mockConfig, mockLogger); @@ -92,6 +95,9 @@ describe('Reporting server createConfig', () => { "roles": Object { "enabled": false, }, + "statefulSettings": Object { + "enabled": true, + }, } `); expect(mockLogger.warn).not.toHaveBeenCalled(); diff --git a/x-pack/plugins/reporting/server/config/index.ts b/x-pack/plugins/reporting/server/config/index.ts index 5786498035721..3bb4b79dd6fc8 100644 --- a/x-pack/plugins/reporting/server/config/index.ts +++ b/x-pack/plugins/reporting/server/config/index.ts @@ -11,7 +11,7 @@ import { get } from 'lodash'; import { ConfigSchema, ReportingConfigType } from './schema'; export const config: PluginConfigDescriptor = { - exposeToBrowser: { poll: true, roles: true, export_types: true }, + exposeToBrowser: { poll: true, roles: true, export_types: true, statefulSettings: true }, schema: ConfigSchema, deprecations: ({ unused }) => [ unused('capture.browser.chromium.maxScreenshotDimension', { level: 'warning' }), // unused since 7.8 diff --git a/x-pack/plugins/reporting/server/config/schema.test.ts b/x-pack/plugins/reporting/server/config/schema.test.ts index 14ed1886e9136..f30be71db09ea 100644 --- a/x-pack/plugins/reporting/server/config/schema.test.ts +++ b/x-pack/plugins/reporting/server/config/schema.test.ts @@ -85,6 +85,14 @@ describe('Reporting Config Schema', () => { `); }); + it('disables ilm settings in serverless', () => { + expect(ConfigSchema.validate({}, { serverless: true }).statefulSettings).toMatchInlineSnapshot(` + Object { + "enabled": false, + } + `); + }); + it('disables screenshot type exports in serverless', () => { expect(ConfigSchema.validate({}, { serverless: true }).export_types).toMatchInlineSnapshot(` Object { diff --git a/x-pack/plugins/reporting/server/config/schema.ts b/x-pack/plugins/reporting/server/config/schema.ts index 966f4f20ff313..ff0cda89a693b 100644 --- a/x-pack/plugins/reporting/server/config/schema.ts +++ b/x-pack/plugins/reporting/server/config/schema.ts @@ -128,6 +128,13 @@ const ExportTypeSchema = schema.object({ }), }); +const SettingsSchema = schema.object({ + enabled: offeringBasedSchema({ + serverless: schema.boolean({ defaultValue: false }), + traditional: schema.boolean({ defaultValue: true }), + }), +}); + export const ConfigSchema = schema.object({ enabled: schema.boolean({ defaultValue: true }), kibanaServer: KibanaServerSchema, @@ -138,6 +145,7 @@ export const ConfigSchema = schema.object({ roles: RolesSchema, poll: PollSchema, export_types: ExportTypeSchema, + statefulSettings: SettingsSchema, }); export type ReportingConfigType = TypeOf; diff --git a/x-pack/plugins/reporting/server/lib/store/store.test.ts b/x-pack/plugins/reporting/server/lib/store/store.test.ts index f1400ab357ee9..64556ef1a2c22 100644 --- a/x-pack/plugins/reporting/server/lib/store/store.test.ts +++ b/x-pack/plugins/reporting/server/lib/store/store.test.ts @@ -19,6 +19,7 @@ describe('ReportingStore', () => { const reportingConfig = { index: '.reporting-test', queue: { indexInterval: 'week' }, + statefulSettings: { enabled: true }, }; mockCore = await createMockReportingCore(createMockConfigSchema(reportingConfig)); mockEsClient = (await mockCore.getEsClient()).asInternalUser as typeof mockEsClient; @@ -60,6 +61,7 @@ describe('ReportingStore', () => { const reportingConfig = { index: '.reporting-test', queue: { indexInterval: 'centurially' }, + statefulSettings: { enabled: true }, }; mockCore = await createMockReportingCore(createMockConfigSchema(reportingConfig)); diff --git a/x-pack/plugins/reporting/server/lib/store/store.ts b/x-pack/plugins/reporting/server/lib/store/store.ts index 96a3ffacee51c..1a0dcbf16a893 100644 --- a/x-pack/plugins/reporting/server/lib/store/store.ts +++ b/x-pack/plugins/reporting/server/lib/store/store.ts @@ -87,12 +87,13 @@ export class ReportingStore { private readonly indexInterval: string; // config setting of index prefix: how often to poll for pending work private client?: ElasticsearchClient; private ilmPolicyManager?: IlmPolicyManager; + config: ReportingCore['config']; constructor(private reportingCore: ReportingCore, private logger: Logger) { - const config = reportingCore.getConfig(); + this.config = reportingCore.getConfig(); this.indexPrefix = REPORTING_SYSTEM_INDEX; - this.indexInterval = config.queue.indexInterval; + this.indexInterval = this.config.queue.indexInterval; this.logger = logger.get('store'); } @@ -105,12 +106,8 @@ export class ReportingStore { } private async getIlmPolicyManager() { - if (!this.ilmPolicyManager) { - const client = await this.getClient(); - this.ilmPolicyManager = IlmPolicyManager.create({ client }); - } - - return this.ilmPolicyManager; + const client = await this.getClient(); + return (this.ilmPolicyManager = IlmPolicyManager.create({ client })); } private async createIndex(indexName: string) { @@ -121,10 +118,8 @@ export class ReportingStore { return exists; } - try { - await client.indices.create({ - index: indexName, - body: { + const indexSettings = this.config.statefulSettings.enabled + ? { settings: { number_of_shards: 1, auto_expand_replicas: '0-1', @@ -132,6 +127,14 @@ export class ReportingStore { name: ILM_POLICY_NAME, }, }, + } + : {}; + + try { + await client.indices.create({ + index: indexName, + body: { + ...indexSettings, mappings: { properties: mapping, }, @@ -185,6 +188,9 @@ export class ReportingStore { * configured for storage of reports. */ public async start() { + if (!this.config.statefulSettings.enabled) { + return; + } const ilmPolicyManager = await this.getIlmPolicyManager(); try { if (await ilmPolicyManager.doesIlmPolicyExist()) { diff --git a/x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts b/x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts index 38a7bb8399abb..d96a66bc9b9fd 100644 --- a/x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts +++ b/x-pack/plugins/reporting/server/test_helpers/create_mock_reportingplugin.ts @@ -117,6 +117,7 @@ export const createMockConfigSchema = ( csv: { enabled: true }, ...overrides.export_types, }, + statefulSettings: { enabled: true }, } as ReportingConfigType; }; From 8d14f21001d4b2c0b83969c0740badc358808cc2 Mon Sep 17 00:00:00 2001 From: Philippe Oberti Date: Thu, 14 Sep 2023 18:18:50 +0200 Subject: [PATCH 046/149] Expandable flyout translations (#166216) --- .../flyout/isolate_host/header.test.tsx | 42 +++ .../public/flyout/isolate_host/header.tsx | 14 +- .../flyout/isolate_host/translations.ts | 22 -- .../components/correlations_details.test.tsx | 10 +- .../left/components/correlations_details.tsx | 13 +- ...correlations_details_alerts_table.test.tsx | 2 +- .../correlations_details_alerts_table.tsx | 42 ++- .../left/components/entities_details.test.tsx | 9 +- .../left/components/entities_details.tsx | 9 +- .../flyout/left/components/host_details.tsx | 69 +++- .../components/investigation_guide.test.tsx | 6 + .../left/components/investigation_guide.tsx | 8 +- .../components/prevalence_details.test.tsx | 65 ++-- .../left/components/prevalence_details.tsx | 137 ++++++-- .../related_alerts_by_ancestry.test.tsx | 26 ++ .../components/related_alerts_by_ancestry.tsx | 19 +- ...lated_alerts_by_same_source_event.test.tsx | 25 ++ .../related_alerts_by_same_source_event.tsx | 19 +- .../related_alerts_by_session.test.tsx | 21 ++ .../components/related_alerts_by_session.tsx | 19 +- .../left/components/related_cases.test.tsx | 24 +- .../flyout/left/components/related_cases.tsx | 37 ++- .../left/components/response_details.test.tsx | 3 + .../left/components/response_details.tsx | 12 +- .../flyout/left/components/session_view.tsx | 23 +- .../components/suppressed_alerts.test.tsx | 36 +-- .../left/components/suppressed_alerts.tsx | 8 +- .../public/flyout/left/components/test_ids.ts | 20 +- .../flyout/left/components/translations.ts | 272 ---------------- .../flyout/left/components/user_details.tsx | 69 +++- .../public/flyout/left/tabs.tsx | 33 +- .../public/flyout/left/tabs/insights_tab.tsx | 44 ++- .../public/flyout/left/tabs/translations.ts | 64 ---- .../public/flyout/left/tabs/visualize_tab.tsx | 28 +- .../public/flyout/left/translations.ts | 36 --- .../components/alert_reason_preview.test.tsx | 14 +- .../components/alert_reason_preview.tsx | 9 +- .../preview/components/rule_preview.test.tsx | 4 + .../preview/components/rule_preview.tsx | 30 +- .../components/rule_preview_footer.test.tsx | 3 + .../components/rule_preview_footer.tsx | 6 +- .../flyout/preview/components/translations.ts | 38 --- .../public/flyout/preview/panels.tsx | 7 - .../public/flyout/preview/translations.ts | 18 -- .../flyout/right/components/about_section.tsx | 9 +- .../right/components/analyzer_preview.tsx | 9 +- .../analyzer_preview_container.test.tsx | 16 +- .../components/analyzer_preview_container.tsx | 18 +- .../components/correlations_overview.test.tsx | 11 +- .../components/correlations_overview.tsx | 18 +- .../right/components/description.test.tsx | 31 +- .../flyout/right/components/description.tsx | 33 +- .../components/entities_overview.test.tsx | 8 +- .../right/components/entities_overview.tsx | 16 +- .../components/expand_detail_button.test.tsx | 37 ++- .../right/components/expand_detail_button.tsx | 12 +- .../components/expandable_section.stories.tsx | 2 +- .../components/expandable_section.test.tsx | 2 +- .../right/components/expandable_section.tsx | 3 +- .../right/components/header_title.test.tsx | 3 +- .../flyout/right/components/header_title.tsx | 11 +- .../right/components/highlighted_fields.tsx | 27 +- .../right/components/host_entity_overview.tsx | 16 +- .../right/components/insights_section.tsx | 13 +- .../right/components/insights_summary_row.tsx | 4 +- .../components/investigation_guide.test.tsx | 68 +++- .../right/components/investigation_guide.tsx | 27 +- .../components/investigation_section.test.tsx | 36 +-- .../components/investigation_section.tsx | 9 +- .../components/prevalence_overview.test.tsx | 12 +- .../right/components/prevalence_overview.tsx | 26 +- .../flyout/right/components/reason.test.tsx | 40 ++- .../public/flyout/right/components/reason.tsx | 33 +- .../related_alerts_by_ancestry.test.tsx | 24 +- .../components/related_alerts_by_ancestry.tsx | 10 +- ...lated_alerts_by_same_source_event.test.tsx | 24 +- .../related_alerts_by_same_source_event.tsx | 10 +- .../related_alerts_by_session.test.tsx | 22 +- .../components/related_alerts_by_session.tsx | 10 +- .../right/components/related_cases.test.tsx | 16 +- .../flyout/right/components/related_cases.tsx | 10 +- .../right/components/response_button.test.tsx | 45 ++- .../right/components/response_button.tsx | 14 +- .../components/response_section.test.tsx | 30 +- .../right/components/response_section.tsx | 9 +- .../right/components/risk_score.test.tsx | 28 +- .../flyout/right/components/risk_score.tsx | 9 +- .../right/components/session_preview.tsx | 46 ++- .../session_preview_container.test.tsx | 34 +- .../components/session_preview_container.tsx | 28 +- .../flyout/right/components/severity.tsx | 9 +- .../right/components/share_button.test.tsx | 16 +- .../flyout/right/components/share_button.tsx | 7 +- .../components/suppressed_alerts.test.tsx | 28 +- .../right/components/suppressed_alerts.tsx | 22 +- .../flyout/right/components/test_ids.ts | 23 +- .../threat_intelligence_overview.test.tsx | 8 +- .../threat_intelligence_overview.tsx | 31 +- .../flyout/right/components/translations.ts | 301 ------------------ .../right/components/user_entity_overview.tsx | 16 +- .../visualizations_section.test.tsx | 13 +- .../components/visualizations_section.tsx | 9 +- .../public/flyout/right/tabs.tsx | 26 +- .../public/flyout/right/tabs/translations.ts | 22 -- .../public/flyout/right/translations.ts | 21 -- .../shared/components/flyout_error.test.tsx | 14 +- .../flyout/shared/components/flyout_error.tsx | 22 +- .../public/flyout/shared/translations.ts | 54 ---- .../translations/translations/fr-FR.json | 63 ---- .../translations/translations/ja-JP.json | 63 ---- .../translations/translations/zh-CN.json | 63 ---- ...ert_details_right_panel_overview_tab.cy.ts | 4 +- 112 files changed, 1532 insertions(+), 1637 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/flyout/isolate_host/header.test.tsx delete mode 100644 x-pack/plugins/security_solution/public/flyout/isolate_host/translations.ts delete mode 100644 x-pack/plugins/security_solution/public/flyout/left/components/translations.ts delete mode 100644 x-pack/plugins/security_solution/public/flyout/left/tabs/translations.ts delete mode 100644 x-pack/plugins/security_solution/public/flyout/left/translations.ts delete mode 100644 x-pack/plugins/security_solution/public/flyout/preview/components/translations.ts delete mode 100644 x-pack/plugins/security_solution/public/flyout/preview/translations.ts delete mode 100644 x-pack/plugins/security_solution/public/flyout/right/components/translations.ts delete mode 100644 x-pack/plugins/security_solution/public/flyout/right/tabs/translations.ts delete mode 100644 x-pack/plugins/security_solution/public/flyout/right/translations.ts delete mode 100644 x-pack/plugins/security_solution/public/flyout/shared/translations.ts diff --git a/x-pack/plugins/security_solution/public/flyout/isolate_host/header.test.tsx b/x-pack/plugins/security_solution/public/flyout/isolate_host/header.test.tsx new file mode 100644 index 0000000000000..fa4b57a4313fa --- /dev/null +++ b/x-pack/plugins/security_solution/public/flyout/isolate_host/header.test.tsx @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { render } from '@testing-library/react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; +import { useIsolateHostPanelContext } from './context'; +import { PanelHeader } from './header'; +import { FLYOUT_HEADER_TITLE_TEST_ID } from './test_ids'; + +jest.mock('./context'); + +const renderPanelHeader = () => + render( + + + + ); + +describe('', () => { + (useIsolateHostPanelContext as jest.Mock).mockReturnValue({ isolateAction: 'isolateHost' }); + + it('should display isolate host message', () => { + const { getByTestId } = renderPanelHeader(); + + expect(getByTestId(FLYOUT_HEADER_TITLE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(FLYOUT_HEADER_TITLE_TEST_ID)).toHaveTextContent('Isolate host'); + }); + + it('should display release host message', () => { + (useIsolateHostPanelContext as jest.Mock).mockReturnValue({ isolateAction: 'unisolateHost' }); + + const { getByTestId } = renderPanelHeader(); + + expect(getByTestId(FLYOUT_HEADER_TITLE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(FLYOUT_HEADER_TITLE_TEST_ID)).toHaveTextContent('Release host'); + }); +}); diff --git a/x-pack/plugins/security_solution/public/flyout/isolate_host/header.tsx b/x-pack/plugins/security_solution/public/flyout/isolate_host/header.tsx index 168175878d802..0e5ef2e309b69 100644 --- a/x-pack/plugins/security_solution/public/flyout/isolate_host/header.tsx +++ b/x-pack/plugins/security_solution/public/flyout/isolate_host/header.tsx @@ -8,9 +8,9 @@ import { EuiFlyoutHeader, EuiTitle } from '@elastic/eui'; import type { FC } from 'react'; import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useIsolateHostPanelContext } from './context'; import { FLYOUT_HEADER_TITLE_TEST_ID } from './test_ids'; -import { PANEL_HEADER_ISOLATE_TITLE, PANEL_HEADER_RELEASE_TITLE } from './translations'; /** * Document details expandable right section header for the isolate host panel @@ -19,7 +19,17 @@ export const PanelHeader: FC = () => { const { isolateAction } = useIsolateHostPanelContext(); const title = - isolateAction === 'isolateHost' ? PANEL_HEADER_ISOLATE_TITLE : PANEL_HEADER_RELEASE_TITLE; + isolateAction === 'isolateHost' ? ( + + ) : ( + + ); return ( diff --git a/x-pack/plugins/security_solution/public/flyout/isolate_host/translations.ts b/x-pack/plugins/security_solution/public/flyout/isolate_host/translations.ts deleted file mode 100644 index 84ec8d62c09de..0000000000000 --- a/x-pack/plugins/security_solution/public/flyout/isolate_host/translations.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; - -export const PANEL_HEADER_ISOLATE_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.isolateHostPanelHeaderIsolateTitle', - { - defaultMessage: `Isolate host`, - } -); - -export const PANEL_HEADER_RELEASE_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.isolateHostPanelHeaderReleaseTitle', - { - defaultMessage: `Release host`, - } -); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.test.tsx index dcd8c5884c6fb..2bbfa8f4ab7c5 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.test.tsx @@ -20,8 +20,8 @@ import { CORRELATIONS_DETAILS_BY_SESSION_SECTION_TABLE_TEST_ID, CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TABLE_TEST_ID, CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID, + CORRELATIONS_DETAILS_NO_DATA_TEST_ID, CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID, - CORRELATIONS_DETAILS_TEST_ID, } from './test_ids'; import { useFetchRelatedAlertsBySession } from '../../shared/hooks/use_fetch_related_alerts_by_session'; import { useFetchRelatedAlertsByAncestry } from '../../shared/hooks/use_fetch_related_alerts_by_ancestry'; @@ -102,13 +102,14 @@ describe('CorrelationsDetails', () => { dataCount: 1, }); - const { getByTestId } = renderCorrelationDetails(); + const { getByTestId, queryByTestId } = renderCorrelationDetails(); expect(getByTestId(CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TABLE_TEST_ID)).toBeInTheDocument(); expect(getByTestId(CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TABLE_TEST_ID)).toBeInTheDocument(); expect(getByTestId(CORRELATIONS_DETAILS_BY_SESSION_SECTION_TABLE_TEST_ID)).toBeInTheDocument(); expect(getByTestId(CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID)).toBeInTheDocument(); expect(getByTestId(CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_TITLE_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(CORRELATIONS_DETAILS_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should render no section and show error message if show values are false', () => { @@ -139,7 +140,10 @@ describe('CorrelationsDetails', () => { expect( queryByTestId(CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_TITLE_TEST_ID) ).not.toBeInTheDocument(); - expect(getByTestId(`${CORRELATIONS_DETAILS_TEST_ID}Error`)).toBeInTheDocument(); + expect(getByTestId(CORRELATIONS_DETAILS_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(CORRELATIONS_DETAILS_NO_DATA_TEST_ID)).toHaveTextContent( + 'No correlations data available.' + ); }); it('should render no section if values are null', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.tsx index 0e6e927779710..f7def1d23ac98 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details.tsx @@ -7,8 +7,8 @@ import React from 'react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import { CORRELATIONS_ERROR_MESSAGE } from './translations'; -import { CORRELATIONS_DETAILS_TEST_ID } from './test_ids'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { CORRELATIONS_DETAILS_NO_DATA_TEST_ID } from './test_ids'; import { RelatedAlertsBySession } from './related_alerts_by_session'; import { RelatedAlertsBySameSourceEvent } from './related_alerts_by_same_source_event'; import { RelatedCases } from './related_cases'; @@ -98,9 +98,12 @@ export const CorrelationsDetails: React.FC = () => { )} ) : ( -
    - {CORRELATIONS_ERROR_MESSAGE} -
    +

    + +

    )} ); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.test.tsx index 3d36a54e728e2..250889402e455 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.test.tsx @@ -67,7 +67,7 @@ describe('CorrelationsDetailsAlertsTable', () => { const { getByTestId } = render( {'title'}

    } loading={false} alertIds={alertIds} scopeId={scopeId} diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx index 4099db06d6c5a..0f113efe317aa 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/correlations_details_alerts_table.tsx @@ -5,17 +5,18 @@ * 2.0. */ -import type { ReactNode } from 'react'; +import type { ReactElement, ReactNode } from 'react'; import React, { type FC, useMemo, useCallback } from 'react'; import { type Criteria, EuiBasicTable, formatDate } from '@elastic/eui'; import { Severity } from '@kbn/securitysolution-io-ts-alerting-types'; import type { Filter } from '@kbn/es-query'; import { isRight } from 'fp-ts/lib/Either'; import { ALERT_REASON, ALERT_RULE_NAME } from '@kbn/rule-data-utils'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { i18n } from '@kbn/i18n'; import type { DataProvider } from '../../../../common/types'; import { SeverityBadge } from '../../../detections/components/rules/severity_badge'; import { usePaginatedAlerts } from '../hooks/use_paginated_alerts'; -import * as i18n from './translations'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; import { InvestigateInTimelineButton } from '../../../common/components/event_details/table/investigate_in_timeline_button'; import { ACTION_INVESTIGATE_IN_TIMELINE } from '../../../detections/components/alerts_table/translations'; @@ -27,24 +28,44 @@ const dataProviderLimit = 5; export const columns = [ { field: '@timestamp', - name: i18n.CORRELATIONS_TIMESTAMP_COLUMN_TITLE, + name: ( + + ), truncateText: true, dataType: 'date' as const, render: (value: string) => formatDate(value, TIMESTAMP_DATE_FORMAT), }, { field: ALERT_RULE_NAME, - name: i18n.CORRELATIONS_RULE_COLUMN_TITLE, + name: ( + + ), truncateText: true, }, { field: ALERT_REASON, - name: i18n.CORRELATIONS_REASON_COLUMN_TITLE, + name: ( + + ), truncateText: true, }, { field: 'kibana.alert.severity', - name: i18n.CORRELATIONS_SEVERITY_COLUMN_TITLE, + name: ( + + ), truncateText: true, render: (value: string) => { const decodedSeverity = Severity.decode(value); @@ -57,7 +78,7 @@ export interface CorrelationsDetailsAlertsTableProps { /** * Text to display in the ExpandablePanel title section */ - title: string; + title: ReactElement; /** * Whether the table is loading */ @@ -188,7 +209,12 @@ const getFilters = (alertIds?: string[]) => { return [ { meta: { - alias: i18n.CORRELATIONS_DETAILS_TABLE_FILTER, + alias: i18n.translate( + 'xpack.securitySolution.flyout.left.insights.correlations.tableFilterLabel', + { + defaultMessage: 'Correlations Details Table Alert IDs.', + } + ), type: 'phrases', key: '_id', params: [...alertIds], diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/entities_details.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/entities_details.test.tsx index eb56069bb7646..a4a1e9de5f62e 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/entities_details.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/entities_details.test.tsx @@ -42,7 +42,7 @@ const HOST_TEST_ID = EXPANDABLE_PANEL_CONTENT_TEST_ID(HOST_DETAILS_TEST_ID); describe('', () => { it('renders entities details correctly', () => { - const { getByTestId } = render( + const { getByTestId, queryByTestId } = render( @@ -52,6 +52,7 @@ describe('', () => { expect(getByTestId(ENTITIES_DETAILS_TEST_ID)).toBeInTheDocument(); expect(getByTestId(USER_TEST_ID)).toBeInTheDocument(); expect(getByTestId(HOST_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(ENTITIES_DETAILS_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should render no data message if user name and host name are not available', () => { @@ -69,6 +70,9 @@ describe('', () => { ); expect(getByTestId(ENTITIES_DETAILS_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(ENTITIES_DETAILS_NO_DATA_TEST_ID)).toHaveTextContent( + 'Host and user information are unavailable for this alert.' + ); expect(queryByTestId(USER_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(HOST_TEST_ID)).not.toBeInTheDocument(); }); @@ -96,6 +100,9 @@ describe('', () => {
    ); expect(getByTestId(ENTITIES_DETAILS_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(ENTITIES_DETAILS_NO_DATA_TEST_ID)).toHaveTextContent( + 'Host and user information are unavailable for this alert.' + ); expect(queryByTestId(USER_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(HOST_TEST_ID)).not.toBeInTheDocument(); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/entities_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/entities_details.tsx index ff3678a06e428..78ee648581162 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/entities_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/entities_details.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import { ENTITIES_NO_DATA_MESSAGE } from './translations'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useLeftPanelContext } from '../context'; import { getField } from '../../shared/utils'; import { UserDetails } from './user_details'; @@ -45,7 +45,12 @@ export const EntitiesDetails: React.FC = () => { )} ) : ( -
    {ENTITIES_NO_DATA_MESSAGE}
    +

    + +

    )} ); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/host_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/host_details.tsx index 5941c39cb8c8d..2bccfbc8ac34b 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/host_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/host_details.tsx @@ -20,6 +20,7 @@ import { EuiPanel, } from '@elastic/eui'; import type { EuiBasicTableColumn } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { getSourcererScopeId } from '../../../helpers'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; import type { RelatedUser } from '../../../../common/search_strategy/security_solution/related_entities/related_users'; @@ -50,7 +51,6 @@ import { getEmptyTagValue } from '../../../common/components/empty_value'; import { HOST_DETAILS_TEST_ID, HOST_DETAILS_RELATED_USERS_TABLE_TEST_ID } from './test_ids'; import { ENTITY_RISK_CLASSIFICATION } from '../../../explore/components/risk_score/translations'; import { USER_RISK_TOOLTIP } from '../../../explore/users/components/all_users/translations'; -import * as i18n from './translations'; import { useHasSecurityCapability } from '../../../helper_hooks'; const HOST_DETAILS_ID = 'entities-hosts-details'; @@ -128,7 +128,12 @@ export const HostDetails: React.FC = ({ hostName, timestamp, s () => [ { field: 'user', - name: i18n.RELATED_ENTITIES_NAME_COLUMN_TITLE, + name: ( + + ), render: (user: string) => ( = ({ hostName, timestamp, s }, { field: 'ip', - name: i18n.RELATED_ENTITIES_IP_COLUMN_TITLE, + name: ( + + ), render: (ips: string[]) => { return ( = ({ hostName, timestamp, s - {`${i18n.RELATED_USERS_TITLE}: ${totalCount}`} + + + @@ -215,7 +231,12 @@ export const HostDetails: React.FC = ({ hostName, timestamp, s return ( <> -

    {i18n.HOST_TITLE}

    +

    + +

    = ({ hostName, timestamp, s data-test-subj={HOST_DETAILS_TEST_ID} > -
    {i18n.HOSTS_INFO_TITLE}
    +
    + +
    = ({ hostName, timestamp, s -
    {i18n.RELATED_USERS_TITLE}
    +
    + +
    - + + } + > @@ -287,11 +326,21 @@ export const HostDetails: React.FC = ({ hostName, timestamp, s loading={isRelatedUsersLoading} data-test-subj={HOST_DETAILS_RELATED_USERS_TABLE_TEST_ID} pagination={pagination} - message={i18n.RELATED_USERS_TABLE_NO_DATA} + message={ + + } /> + } inspectIndex={0} /> diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.test.tsx index b5a7f229b9979..37d91600bbe5e 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.test.tsx @@ -55,6 +55,9 @@ describe('', () => { }); const { getByTestId } = render(renderInvestigationGuide()); expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toHaveTextContent( + `There’s no investigation guide for this rule. Edit the rule's settingsExternal link(opens in a new tab or window) to add one.` + ); }); it('should render no data message when there is no rule note', () => { @@ -64,6 +67,9 @@ describe('', () => { }); const { getByTestId } = render(renderInvestigationGuide()); expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toHaveTextContent( + `There’s no investigation guide for this rule. Edit the rule's settingsExternal link(opens in a new tab or window) to add one.` + ); }); it('should render no data message when useInvestigationGuide errors out', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.tsx index 8cf39210bbac7..1152e11df6ba6 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/investigation_guide.tsx @@ -49,9 +49,9 @@ export const InvestigationGuide: React.FC = () => { showFullView={true} /> ) : ( -
    +

    { target="_blank" > ), }} /> -

    +

    )} ); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx index 233eb7c22371e..45cde1423ba4f 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.test.tsx @@ -17,6 +17,7 @@ import { PREVALENCE_DETAILS_TABLE_HOST_PREVALENCE_CELL_TEST_ID, PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID, PREVALENCE_DETAILS_TABLE_TEST_ID, + PREVALENCE_DETAILS_TABLE_UPSELL_TEST_ID, PREVALENCE_DETAILS_TABLE_USER_PREVALENCE_CELL_TEST_ID, PREVALENCE_DETAILS_TABLE_VALUE_CELL_TEST_ID, } from './test_ids'; @@ -53,6 +54,15 @@ const panelContextValue = { dataFormattedForFieldBrowser: [], } as unknown as LeftPanelContext; +const renderPrevalenceDetails = () => + render( + + + + + + ); + describe('PrevalenceDetails', () => { const licenseServiceMock = licenseService as jest.Mocked; @@ -86,13 +96,7 @@ describe('PrevalenceDetails', () => { ], }); - const { getByTestId, getAllByTestId, queryByTestId } = render( - - - - - - ); + const { getByTestId, getAllByTestId, queryByTestId } = renderPrevalenceDetails(); expect(getByTestId(PREVALENCE_DETAILS_TABLE_TEST_ID)).toBeInTheDocument(); expect(getAllByTestId(PREVALENCE_DETAILS_TABLE_FIELD_CELL_TEST_ID).length).toBeGreaterThan(1); @@ -109,7 +113,8 @@ describe('PrevalenceDetails', () => { expect( getAllByTestId(PREVALENCE_DETAILS_TABLE_USER_PREVALENCE_CELL_TEST_ID).length ).toBeGreaterThan(1); - expect(queryByTestId(`${PREVALENCE_DETAILS_TABLE_TEST_ID}UpSell`)).not.toBeInTheDocument(); + expect(queryByTestId(PREVALENCE_DETAILS_TABLE_UPSELL_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should render formatted numbers for the alert and document count columns', () => { @@ -176,13 +181,7 @@ describe('PrevalenceDetails', () => { }); licenseServiceMock.isPlatinumPlus.mockReturnValue(false); - const { getByTestId, getAllByTestId } = render( - - - - - - ); + const { getByTestId, getAllByTestId } = renderPrevalenceDetails(); expect(getByTestId(PREVALENCE_DETAILS_TABLE_TEST_ID)).toBeInTheDocument(); expect(getAllByTestId(PREVALENCE_DETAILS_TABLE_FIELD_CELL_TEST_ID).length).toBeGreaterThan(1); @@ -199,7 +198,7 @@ describe('PrevalenceDetails', () => { expect( getAllByTestId(PREVALENCE_DETAILS_TABLE_USER_PREVALENCE_CELL_TEST_ID).length ).toBeGreaterThan(1); - expect(getByTestId(`${PREVALENCE_DETAILS_TABLE_TEST_ID}UpSell`)).toBeInTheDocument(); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_UPSELL_TEST_ID)).toBeInTheDocument(); }); it('should render loading', () => { @@ -209,13 +208,11 @@ describe('PrevalenceDetails', () => { data: [], }); - const { getByTestId } = render( - - - - ); + const { getByTestId, queryByTestId } = renderPrevalenceDetails(); expect(getByTestId(PREVALENCE_DETAILS_LOADING_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(PREVALENCE_DETAILS_TABLE_UPSELL_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should render no data message if call errors out', () => { @@ -225,12 +222,28 @@ describe('PrevalenceDetails', () => { data: [], }); - const { getByTestId } = render( - - - + const { getByTestId, queryByTestId } = renderPrevalenceDetails(); + + expect(getByTestId(PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID)).toHaveTextContent( + 'No prevalence data available.' ); + expect(queryByTestId(PREVALENCE_DETAILS_LOADING_TEST_ID)).not.toBeInTheDocument(); + }); - expect(getByTestId(`${PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID}Error`)).toBeInTheDocument(); + it('should render no data message if no data', () => { + (usePrevalence as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + }); + + const { getByTestId, queryByTestId } = renderPrevalenceDetails(); + + expect(getByTestId(PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID)).toHaveTextContent( + 'No prevalence data available.' + ); + expect(queryByTestId(PREVALENCE_DETAILS_LOADING_TEST_ID)).not.toBeInTheDocument(); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx index cd4283613a453..4c1865738ce0c 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/prevalence_details.tsx @@ -27,21 +27,6 @@ import { useLicense } from '../../../common/hooks/use_license'; import { InvestigateInTimelineButton } from '../../../common/components/event_details/table/investigate_in_timeline_button'; import type { PrevalenceData } from '../../shared/hooks/use_prevalence'; import { usePrevalence } from '../../shared/hooks/use_prevalence'; -import { - HOST_TITLE, - PREVALENCE_TABLE_ALERT_COUNT_COLUMN_TITLE, - PREVALENCE_TABLE_COUNT_COLUMN_TITLE, - PREVALENCE_TABLE_DOC_COUNT_COLUMN_TITLE, - PREVALENCE_TABLE_VALUE_COLUMN_TITLE, - PREVALENCE_TABLE_PREVALENCE_COLUMN_TITLE, - PREVALENCE_TABLE_FIELD_COLUMN_TITLE, - USER_TITLE, - PREVALENCE_NO_DATA_MESSAGE, - PREVALENCE_TABLE_ALERT_COUNT_COLUMN_TITLE_TOOLTIP, - PREVALENCE_TABLE_DOC_COUNT_COLUMN_TITLE_TOOLTIP, - HOST_PREVALENCE_COLUMN_TITLE_TOOLTIP, - USER_PREVALENCE_COLUMN_TITLE_TOOLTIP, -} from './translations'; import { PREVALENCE_DETAILS_LOADING_TEST_ID, PREVALENCE_DETAILS_TABLE_ALERT_COUNT_CELL_TEST_ID, @@ -53,6 +38,7 @@ import { PREVALENCE_DETAILS_TABLE_NO_DATA_TEST_ID, PREVALENCE_DETAILS_DATE_PICKER_TEST_ID, PREVALENCE_DETAILS_TABLE_TEST_ID, + PREVALENCE_DETAILS_TABLE_UPSELL_TEST_ID, } from './test_ids'; import { useLeftPanelContext } from '../context'; import { @@ -80,24 +66,51 @@ interface PrevalenceDetailsRow extends PrevalenceData { const columns: Array> = [ { field: 'field', - name: PREVALENCE_TABLE_FIELD_COLUMN_TITLE, + name: ( + + ), 'data-test-subj': PREVALENCE_DETAILS_TABLE_FIELD_CELL_TEST_ID, render: (field: string) => {field}, width: '20%', }, { field: 'value', - name: PREVALENCE_TABLE_VALUE_COLUMN_TITLE, + name: ( + + ), 'data-test-subj': PREVALENCE_DETAILS_TABLE_VALUE_CELL_TEST_ID, render: (value: string) => {value}, width: '20%', }, { name: ( - + + } + > - {PREVALENCE_TABLE_ALERT_COUNT_COLUMN_TITLE} - {PREVALENCE_TABLE_COUNT_COLUMN_TITLE} + + + + + + ), @@ -123,10 +136,27 @@ const columns: Array> = [ }, { name: ( - + + } + > - {PREVALENCE_TABLE_DOC_COUNT_COLUMN_TITLE} - {PREVALENCE_TABLE_COUNT_COLUMN_TITLE} + + + + + + ), @@ -169,10 +199,27 @@ const columns: Array> = [ { field: 'hostPrevalence', name: ( - + + } + > - {HOST_TITLE} - {PREVALENCE_TABLE_PREVALENCE_COLUMN_TITLE} + + + + + + ), @@ -185,10 +232,27 @@ const columns: Array> = [ { field: 'userPrevalence', name: ( - + + } + > - {USER_TITLE} - {PREVALENCE_TABLE_PREVALENCE_COLUMN_TITLE} + + + + + + ), @@ -270,15 +334,15 @@ export const PrevalenceDetails: React.FC = () => { const upsell = ( <> - + @@ -308,9 +372,12 @@ export const PrevalenceDetails: React.FC = () => { data-test-subj={PREVALENCE_DETAILS_TABLE_TEST_ID} /> ) : ( -
    - {PREVALENCE_NO_DATA_MESSAGE} -
    +

    + +

    )} diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.test.tsx index c54b76468841b..7a1cb79b90364 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.test.tsx @@ -111,4 +111,30 @@ describe('', () => { ); expect(container).toBeEmptyDOMElement(); }); + + it('should render no data message', () => { + (useFetchRelatedAlertsByAncestry as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + dataCount: 0, + }); + (usePaginatedAlerts as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + }); + + const { getByText } = render( + + + + ); + expect(getByText('No alerts related by ancestry.')).toBeInTheDocument(); + }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.tsx index ac0ac0a351e9a..050d2b4ae1966 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_ancestry.tsx @@ -6,9 +6,8 @@ */ import React from 'react'; -import { RELATED_ALERTS_BY_ANCESTRY_NO_DATA } from './translations'; +import { FormattedMessage } from '@kbn/i18n-react'; import { CorrelationsDetailsAlertsTable } from './correlations_details_alerts_table'; -import { CORRELATIONS_ANCESTRY_ALERTS } from '../../shared/translations'; import { useFetchRelatedAlertsByAncestry } from '../../shared/hooks/use_fetch_related_alerts_by_ancestry'; import { CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID } from './test_ids'; @@ -45,7 +44,6 @@ export const RelatedAlertsByAncestry: React.VFC = indices, scopeId, }); - const title = `${dataCount} ${CORRELATIONS_ANCESTRY_ALERTS(dataCount)}`; if (error) { return null; @@ -53,12 +51,23 @@ export const RelatedAlertsByAncestry: React.VFC = return ( + } loading={loading} alertIds={data} scopeId={scopeId} eventId={eventId} - noItemsMessage={RELATED_ALERTS_BY_ANCESTRY_NO_DATA} + noItemsMessage={ + + } data-test-subj={CORRELATIONS_DETAILS_BY_ANCESTRY_SECTION_TEST_ID} /> ); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.test.tsx index 77dbe5ef21a2c..55d2323dc413a 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.test.tsx @@ -108,4 +108,29 @@ describe('', () => { ); expect(container).toBeEmptyDOMElement(); }); + + it('should render no data message', () => { + (useFetchRelatedAlertsBySameSourceEvent as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + dataCount: 0, + }); + (usePaginatedAlerts as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + }); + + const { getByText } = render( + + + + ); + expect(getByText('No related source events.')).toBeInTheDocument(); + }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.tsx index 0a0cdeb8fd29c..e3bbf48c5fe15 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_same_source_event.tsx @@ -6,8 +6,7 @@ */ import React from 'react'; -import { RELATED_ALERTS_BY_SOURCE_EVENT_NO_DATA } from './translations'; -import { CORRELATIONS_SAME_SOURCE_ALERTS } from '../../shared/translations'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useFetchRelatedAlertsBySameSourceEvent } from '../../shared/hooks/use_fetch_related_alerts_by_same_source_event'; import { CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID } from './test_ids'; import { CorrelationsDetailsAlertsTable } from './correlations_details_alerts_table'; @@ -39,7 +38,6 @@ export const RelatedAlertsBySameSourceEvent: React.VFC + } loading={loading} alertIds={data} scopeId={scopeId} eventId={eventId} - noItemsMessage={RELATED_ALERTS_BY_SOURCE_EVENT_NO_DATA} + noItemsMessage={ + + } data-test-subj={CORRELATIONS_DETAILS_BY_SOURCE_SECTION_TEST_ID} /> ); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.test.tsx index de1725eef64c9..2f2f4468440e1 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.test.tsx @@ -100,4 +100,25 @@ describe('', () => { ); expect(container).toBeEmptyDOMElement(); }); + + it('should render no data message', () => { + (useFetchRelatedAlertsBySession as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + dataCount: 0, + }); + (usePaginatedAlerts as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + }); + + const { getByText } = render( + + + + ); + expect(getByText('No alerts related by session.')).toBeInTheDocument(); + }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.tsx index 8a55aa3651708..1aa5a2b9dd619 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_alerts_by_session.tsx @@ -6,8 +6,7 @@ */ import React from 'react'; -import { RELATED_ALERTS_BY_SESSION_NO_DATA } from './translations'; -import { CORRELATIONS_SESSION_ALERTS } from '../../shared/translations'; +import { FormattedMessage } from '@kbn/i18n-react'; import { CorrelationsDetailsAlertsTable } from './correlations_details_alerts_table'; import { useFetchRelatedAlertsBySession } from '../../shared/hooks/use_fetch_related_alerts_by_session'; import { CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID } from './test_ids'; @@ -39,7 +38,6 @@ export const RelatedAlertsBySession: React.VFC = ({ entityId, scopeId, }); - const title = `${dataCount} ${CORRELATIONS_SESSION_ALERTS(dataCount)}`; if (error) { return null; @@ -47,12 +45,23 @@ export const RelatedAlertsBySession: React.VFC = ({ return ( + } loading={loading} alertIds={data} scopeId={scopeId} eventId={eventId} - noItemsMessage={RELATED_ALERTS_BY_SESSION_NO_DATA} + noItemsMessage={ + + } data-test-subj={CORRELATIONS_DETAILS_BY_SESSION_SECTION_TEST_ID} /> ); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.test.tsx index ce11b234e8359..264794666234a 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.test.tsx @@ -6,6 +6,7 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID, @@ -38,6 +39,13 @@ const TITLE_TEXT = EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID( CORRELATIONS_DETAILS_CASES_SECTION_TEST_ID ); +const renderRelatedCases = () => + render( + + + + ); + describe('', () => { it('should render many related cases correctly', () => { (useFetchRelatedCases as jest.Mock).mockReturnValue({ @@ -54,7 +62,7 @@ describe('', () => { dataCount: 1, }); - const { getByTestId } = render(); + const { getByTestId } = renderRelatedCases(); expect(getByTestId(TOGGLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_TEXT)).toHaveTextContent('1 related case'); @@ -67,7 +75,19 @@ describe('', () => { error: true, }); - const { container } = render(); + const { container } = renderRelatedCases(); expect(container).toBeEmptyDOMElement(); }); + + it('should render no data message', () => { + (useFetchRelatedCases as jest.Mock).mockReturnValue({ + loading: false, + error: false, + data: [], + dataCount: 0, + }); + + const { getByText } = renderRelatedCases(); + expect(getByText('No related cases.')).toBeInTheDocument(); + }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.tsx index 707087d6360e8..5818b9314390c 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/related_cases.tsx @@ -9,26 +9,26 @@ import React from 'react'; import type { EuiBasicTableColumn } from '@elastic/eui'; import { EuiInMemoryTable, EuiSkeletonText } from '@elastic/eui'; import type { RelatedCase } from '@kbn/cases-plugin/common'; +import { FormattedMessage } from '@kbn/i18n-react'; import { CaseDetailsLink } from '../../../common/components/links'; -import { CORRELATIONS_RELATED_CASES } from '../../shared/translations'; import { CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID, CORRELATIONS_DETAILS_CASES_SECTION_TEST_ID, } from './test_ids'; import { useFetchRelatedCases } from '../../shared/hooks/use_fetch_related_cases'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; -import { - CORRELATIONS_CASE_NAME_COLUMN_TITLE, - CORRELATIONS_CASE_STATUS_COLUMN_TITLE, - RELATED_CASES_NO_DATA, -} from './translations'; const ICON = 'warning'; const columns: Array> = [ { field: 'title', - name: CORRELATIONS_CASE_NAME_COLUMN_TITLE, + name: ( + + ), truncateText: true, render: (value: string, caseData: RelatedCase) => ( @@ -38,7 +38,12 @@ const columns: Array> = [ }, { field: 'status', - name: CORRELATIONS_CASE_STATUS_COLUMN_TITLE, + name: ( + + ), truncateText: true, }, ]; @@ -55,7 +60,6 @@ export interface RelatedCasesProps { */ export const RelatedCases: React.VFC = ({ eventId }) => { const { loading, error, data, dataCount } = useFetchRelatedCases({ eventId }); - const title = `${dataCount} ${CORRELATIONS_RELATED_CASES(dataCount)}`; if (loading) { return ; @@ -68,7 +72,13 @@ export const RelatedCases: React.VFC = ({ eventId }) => { return ( + ), iconType: ICON, }} content={{ error }} @@ -83,7 +93,12 @@ export const RelatedCases: React.VFC = ({ eventId }) => { items={data} columns={columns} pagination={true} - message={RELATED_CASES_NO_DATA} + message={ + + } data-test-subj={CORRELATIONS_DETAILS_CASES_SECTION_TABLE_TEST_ID} /> diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/response_details.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/response_details.test.tsx index 435df5fb3dcd1..b4720c433ea02 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/response_details.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/response_details.test.tsx @@ -125,5 +125,8 @@ describe('', () => { expect(wrapper.queryByTestId('osqueryViewWrapper')).not.toBeInTheDocument(); expect(wrapper.getByTestId(RESPONSE_EMPTY_TEST_ID)).toBeInTheDocument(); + expect(wrapper.getByTestId(RESPONSE_EMPTY_TEST_ID)).toHaveTextContent( + 'There are no response actions defined for this event. To add some, edit the rule’s settings and set up response actionsExternal link(opens in a new tab or window).' + ); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/response_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/response_details.tsx index 03e16c0118cfa..37b1b6b83b203 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/response_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/response_details.tsx @@ -19,7 +19,6 @@ import { useLeftPanelContext } from '../context'; import { useIsExperimentalFeatureEnabled } from '../../../common/hooks/use_experimental_features'; import { useOsqueryTab } from '../../../common/components/event_details/osquery_tab'; import { useResponseActionsView } from '../../../common/components/event_details/response_actions_view'; -import * as i18n from './translations'; const ExtendedFlyoutWrapper = styled.div` figure { @@ -58,13 +57,18 @@ export const ResponseDetails: React.FC = () => { return (
    -
    {i18n.RESPONSE_TITLE}
    +
    + +
    {!responseActions ? ( { target="_blank" > diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/session_view.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/session_view.tsx index 48f1164f75168..4fd548e60a21a 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/session_view.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/session_view.tsx @@ -8,14 +8,13 @@ import type { FC } from 'react'; import React from 'react'; import { EuiEmptyPrompt } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { ANCESTOR_INDEX, ENTRY_LEADER_ENTITY_ID, ENTRY_LEADER_START, } from '../../shared/constants/field_names'; import { getField } from '../../shared/utils'; -import { ERROR_MESSAGE, ERROR_TITLE } from '../../shared/translations'; -import { SESSION_VIEW_ERROR_MESSAGE } from './translations'; import { SESSION_VIEW_ERROR_TEST_ID, SESSION_VIEW_TEST_ID } from './test_ids'; import { useKibana } from '../../../common/lib/kibana'; import { useLeftPanelContext } from '../context'; @@ -39,8 +38,24 @@ export const SessionView: FC = () => { {ERROR_TITLE(SESSION_VIEW_ERROR_MESSAGE)}} - body={

    {ERROR_MESSAGE(SESSION_VIEW_ERROR_MESSAGE)}

    } + title={ +

    + +

    + } + body={ +

    + +

    + } data-test-subj={SESSION_VIEW_ERROR_TEST_ID} /> ); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.test.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.test.tsx index 646cbb2fc9bd5..4bc1a8f5fb0d0 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.test.tsx @@ -36,15 +36,21 @@ const TITLE_TEXT = EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID( ); const INVESTIGATE_IN_TIMELINE_BUTTON_TEST_ID = `${CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID}InvestigateInTimeline`; +const renderSuppressedAlerts = (alertSuppressionCount: number) => + render( + + + + + + ); + describe('', () => { it('should render zero component correctly', () => { - const { getByTestId, queryByTestId } = render( - - - - - - ); + const { getByTestId, queryByTestId } = renderSuppressedAlerts(0); expect(getByTestId(TITLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_TEXT)).toHaveTextContent('0 suppressed alert'); @@ -54,13 +60,7 @@ describe('', () => { }); it('should render single component correctly', () => { - const { getByTestId, queryByTestId } = render( - - - - - - ); + const { getByTestId, queryByTestId } = renderSuppressedAlerts(1); expect(getByTestId(TITLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_TEXT)).toHaveTextContent('1 suppressed alert'); @@ -70,13 +70,7 @@ describe('', () => { }); it('should render multiple component correctly', () => { - const { getByTestId, queryByTestId } = render( - - - - - - ); + const { getByTestId, queryByTestId } = renderSuppressedAlerts(2); expect(getByTestId(TITLE_ICON)).toBeInTheDocument(); expect(getByTestId(TITLE_TEXT)).toHaveTextContent('2 suppressed alerts'); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.tsx index 2fc96ab4d47fd..c2123ced63feb 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/suppressed_alerts.tsx @@ -8,7 +8,7 @@ import React from 'react'; import type { EcsSecurityExtension as Ecs } from '@kbn/securitysolution-ecs'; import { EuiBetaBadge, EuiFlexItem, EuiFlexGroup } from '@elastic/eui'; -import { CORRELATIONS_SUPPRESSED_ALERTS } from '../../shared/translations'; +import { FormattedMessage } from '@kbn/i18n-react'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; import { CORRELATIONS_DETAILS_SUPPRESSED_ALERTS_SECTION_TEST_ID, @@ -38,7 +38,11 @@ export const SuppressedAlerts: React.VFC = ({ const title = ( - {`${alertSuppressionCount} ${CORRELATIONS_SUPPRESSED_ALERTS(alertSuppressionCount)}`} + - i18n.translate('xpack.securitySolution.flyout.entities.relatedHostsToolTip', { - defaultMessage: - 'After this alert was generated, {userName} logged into these hosts. Check if this activity is normal.', - values: { userName }, - }); - -export const RELATED_ENTITIES_NAME_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.entities.relatedEntitiesNameColumn', - { - defaultMessage: 'Name', - } -); - -export const RELATED_ENTITIES_IP_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.entities.relatedEntitiesIpColumn', - { - defaultMessage: 'Ip addresses', - } -); - -export const HOST_TITLE = i18n.translate('xpack.securitySolution.flyout.entities.hostTitle', { - defaultMessage: 'Host', -}); - -export const HOST_PREVALENCE_COLUMN_TITLE_TOOLTIP = i18n.translate( - 'xpack.securitySolution.flyout.entities.hostPrevalenceColumTitleTooltip', - { - defaultMessage: 'Percentage of unique hosts with identical field value pairs', - } -); - -export const HOSTS_INFO_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.entities.hostsInfoTitle', - { - defaultMessage: 'Host information', - } -); - -export const RELATED_USERS_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.entities.relatedUsersTitle', - { - defaultMessage: 'Related users', - } -); - -export const RELATED_USERS_TABLE_NO_DATA = i18n.translate( - 'xpack.securitySolution.flyout.entities.relatedUsersTableNoData', - { - defaultMessage: 'No users identified', - } -); - -export const RELATED_USERS_TOOL_TIP = (hostName: string) => - i18n.translate('xpack.securitySolution.flyout.entities.relatedUsersToolTip', { - defaultMessage: - 'After this alert was generated, these users logged into {hostName}. Check if this activity is normal.', - values: { hostName }, - }); - -export const PREVALENCE_NO_DATA_MESSAGE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceNoDataMessage', - { - defaultMessage: 'No prevalence data available', - } -); - -export const PREVALENCE_TABLE_FIELD_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableFieldColumnTitle', - { - defaultMessage: 'Field', - } -); - -export const PREVALENCE_TABLE_VALUE_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableValueColumnTitle', - { - defaultMessage: 'Value', - } -); - -export const PREVALENCE_TABLE_ALERT_COUNT_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle', - { - defaultMessage: 'Alert', - } -); - -export const PREVALENCE_TABLE_ALERT_COUNT_COLUMN_TITLE_TOOLTIP = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitleTooltip', - { - defaultMessage: 'Total number of alerts with identical field value pairs', - } -); - -export const PREVALENCE_TABLE_DOC_COUNT_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle', - { - defaultMessage: 'Document', - } -); - -export const PREVALENCE_TABLE_DOC_COUNT_COLUMN_TITLE_TOOLTIP = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitleTooltip', - { - defaultMessage: 'Total number of event documents with identical field value pairs', - } -); - -export const PREVALENCE_TABLE_COUNT_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTableCountColumnTitle', - { - defaultMessage: 'count', - } -); - -export const PREVALENCE_TABLE_PREVALENCE_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.prevalenceTablePrevalenceColumnTitle', - { - defaultMessage: 'prevalence', - } -); - -export const RESPONSE_TITLE = i18n.translate('xpack.securitySolution.flyout.response.title', { - defaultMessage: 'Responses', -}); - -export const CORRELATIONS_TIMESTAMP_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.correlations.timestampColumnTitle', - { - defaultMessage: 'Timestamp', - } -); - -export const CORRELATIONS_RULE_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.correlations.ruleColumnTitle', - { - defaultMessage: 'Rule', - } -); - -export const CORRELATIONS_REASON_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.correlations.reasonColumnTitle', - { - defaultMessage: 'Reason', - } -); - -export const CORRELATIONS_SEVERITY_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.correlations.severityColumnTitle', - { - defaultMessage: 'Severity', - } -); - -export const CORRELATIONS_CASE_STATUS_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.correlations.statusColumnTitle', - { - defaultMessage: 'Status', - } -); - -export const CORRELATIONS_CASE_NAME_COLUMN_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.correlations.caseNameColumnTitle', - { - defaultMessage: 'Name', - } -); - -export const CORRELATIONS_DETAILS_TABLE_FILTER = i18n.translate( - 'xpack.securitySolution.flyout.correlations.correlationsDetailsTableFilter', - { - defaultMessage: 'Correlations Details Table Alert IDs', - } -); - -export const RELATED_ALERTS_BY_ANCESTRY_NO_DATA = i18n.translate( - 'xpack.securitySolution.flyout.correlations.relatedAlertsByAncestryNoData', - { - defaultMessage: 'No alerts related by ancestry', - } -); - -export const RELATED_ALERTS_BY_SOURCE_EVENT_NO_DATA = i18n.translate( - 'xpack.securitySolution.flyout.correlations.relatedAlertsBySourceEventNoData', - { - defaultMessage: 'No related source events', - } -); - -export const RELATED_ALERTS_BY_SESSION_NO_DATA = i18n.translate( - 'xpack.securitySolution.flyout.correlations.relatedAlertsBySessionNoData', - { - defaultMessage: 'No alerts related by session', - } -); - -export const RELATED_CASES_NO_DATA = i18n.translate( - 'xpack.securitySolution.flyout.correlations.relatedCasesNoData', - { - defaultMessage: 'No related cases', - } -); diff --git a/x-pack/plugins/security_solution/public/flyout/left/components/user_details.tsx b/x-pack/plugins/security_solution/public/flyout/left/components/user_details.tsx index c5a135eb621bb..12ad057284cd6 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/components/user_details.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/components/user_details.tsx @@ -20,6 +20,7 @@ import { EuiPanel, } from '@elastic/eui'; import type { EuiBasicTableColumn } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { getSourcererScopeId } from '../../../helpers'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; import type { RelatedHost } from '../../../../common/search_strategy/security_solution/related_entities/related_hosts'; @@ -50,7 +51,6 @@ import { getEmptyTagValue } from '../../../common/components/empty_value'; import { USER_DETAILS_RELATED_HOSTS_TABLE_TEST_ID, USER_DETAILS_TEST_ID } from './test_ids'; import { ENTITY_RISK_CLASSIFICATION } from '../../../explore/components/risk_score/translations'; import { HOST_RISK_TOOLTIP } from '../../../explore/hosts/components/hosts_table/translations'; -import * as i18n from './translations'; import { useHasSecurityCapability } from '../../../helper_hooks'; const USER_DETAILS_ID = 'entities-users-details'; @@ -129,7 +129,12 @@ export const UserDetails: React.FC = ({ userName, timestamp, s () => [ { field: 'host', - name: i18n.RELATED_ENTITIES_NAME_COLUMN_TITLE, + name: ( + + ), render: (host: string) => ( = ({ userName, timestamp, s }, { field: 'ip', - name: i18n.RELATED_ENTITIES_IP_COLUMN_TITLE, + name: ( + + ), render: (ips: string[]) => { return ( = ({ userName, timestamp, s - {`${i18n.RELATED_HOSTS_TITLE}: ${totalCount}`} + + + @@ -216,7 +232,12 @@ export const UserDetails: React.FC = ({ userName, timestamp, s return ( <> -

    {i18n.USER_TITLE}

    +

    + +

    = ({ userName, timestamp, s data-test-subj={USER_DETAILS_TEST_ID} > -
    {i18n.USERS_INFO_TITLE}
    +
    + +
    = ({ userName, timestamp, s -
    {i18n.RELATED_HOSTS_TITLE}
    +
    + +
    - + + } + > @@ -290,11 +329,21 @@ export const UserDetails: React.FC = ({ userName, timestamp, s loading={isRelatedHostLoading} data-test-subj={USER_DETAILS_RELATED_HOSTS_TABLE_TEST_ID} pagination={pagination} - message={i18n.RELATED_HOSTS_TABLE_NO_DATA} + message={ + + } /> + } inspectIndex={0} /> diff --git a/x-pack/plugins/security_solution/public/flyout/left/tabs.tsx b/x-pack/plugins/security_solution/public/flyout/left/tabs.tsx index 9ac70d515cc45..c2fc6e5fe20db 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/tabs.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/tabs.tsx @@ -5,10 +5,11 @@ * 2.0. */ +import type { ReactElement } from 'react'; import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { VisualizeTab } from './tabs/visualize_tab'; import { InvestigationTab } from './tabs/investigation_tab'; -import { INSIGHTS_TAB, INVESTIGATIONS_TAB, RESPONSE_TAB, VISUALIZE_TAB } from './translations'; import { InsightsTab } from './tabs/insights_tab'; import type { LeftPanelPaths } from '.'; import { @@ -22,7 +23,7 @@ import { ResponseTab } from './tabs/response_tab'; export type LeftPanelTabsType = Array<{ id: LeftPanelPaths; 'data-test-subj': string; - name: string; + name: ReactElement; content: React.ReactElement; visible: boolean; }>; @@ -31,28 +32,48 @@ export const tabs: LeftPanelTabsType = [ { id: 'visualize', 'data-test-subj': VISUALIZE_TAB_TEST_ID, - name: VISUALIZE_TAB, + name: ( + + ), content: , visible: false, }, { id: 'insights', 'data-test-subj': INSIGHTS_TAB_TEST_ID, - name: INSIGHTS_TAB, + name: ( + + ), content: , visible: true, }, { id: 'investigation', 'data-test-subj': INVESTIGATION_TAB_TEST_ID, - name: INVESTIGATIONS_TAB, + name: ( + + ), content: , visible: true, }, { id: 'response', 'data-test-subj': RESPONSE_TAB_TEST_ID, - name: RESPONSE_TAB, + name: ( + + ), content: , visible: true, }, diff --git a/x-pack/plugins/security_solution/public/flyout/left/tabs/insights_tab.tsx b/x-pack/plugins/security_solution/public/flyout/left/tabs/insights_tab.tsx index a041a980752be..6f35b6b26f3c8 100644 --- a/x-pack/plugins/security_solution/public/flyout/left/tabs/insights_tab.tsx +++ b/x-pack/plugins/security_solution/public/flyout/left/tabs/insights_tab.tsx @@ -10,6 +10,8 @@ import React, { memo, useCallback, useState, useEffect } from 'react'; import { EuiButtonGroup, EuiSpacer } from '@elastic/eui'; import type { EuiButtonGroupOptionProps } from '@elastic/eui/src/components/button/button_group/button_group'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; import { INSIGHTS_TAB_BUTTON_GROUP_TEST_ID, INSIGHTS_TAB_ENTITIES_BUTTON_TEST_ID, @@ -19,13 +21,6 @@ import { } from './test_ids'; import { useLeftPanelContext } from '../context'; import { LeftPanelKey, LeftPanelInsightsTab } from '..'; -import { - INSIGHTS_BUTTONGROUP_OPTIONS, - ENTITIES_BUTTON, - THREAT_INTELLIGENCE_BUTTON, - PREVALENCE_BUTTON, - CORRELATIONS_BUTTON, -} from './translations'; import { ENTITIES_TAB_ID, EntitiesDetails } from '../components/entities_details'; import { THREAT_INTELLIGENCE_TAB_ID, @@ -37,22 +32,42 @@ import { CORRELATIONS_TAB_ID, CorrelationsDetails } from '../components/correlat const insightsButtons: EuiButtonGroupOptionProps[] = [ { id: ENTITIES_TAB_ID, - label: ENTITIES_BUTTON, + label: ( + + ), 'data-test-subj': INSIGHTS_TAB_ENTITIES_BUTTON_TEST_ID, }, { id: THREAT_INTELLIGENCE_TAB_ID, - label: THREAT_INTELLIGENCE_BUTTON, + label: ( + + ), 'data-test-subj': INSIGHTS_TAB_THREAT_INTELLIGENCE_BUTTON_TEST_ID, }, { id: PREVALENCE_TAB_ID, - label: PREVALENCE_BUTTON, + label: ( + + ), 'data-test-subj': INSIGHTS_TAB_PREVALENCE_BUTTON_TEST_ID, }, { id: CORRELATIONS_TAB_ID, - label: CORRELATIONS_BUTTON, + label: ( + + ), 'data-test-subj': INSIGHTS_TAB_CORRELATIONS_BUTTON_TEST_ID, }, ]; @@ -97,7 +112,12 @@ export const InsightsTab: React.FC = memo(() => { + ), 'data-test-subj': VISUALIZE_TAB_SESSION_VIEW_BUTTON_TEST_ID, }, { id: ANALYZE_GRAPH_ID, - label: ANALYZER_GRAPH_BUTTON, + label: ( + + ), 'data-test-subj': VISUALIZE_TAB_GRAPH_ANALYZER_BUTTON_TEST_ID, }, ]; @@ -83,7 +90,12 @@ export const VisualizeTab: FC = memo(() => { onChangeCompressed(id)} diff --git a/x-pack/plugins/security_solution/public/flyout/left/translations.ts b/x-pack/plugins/security_solution/public/flyout/left/translations.ts deleted file mode 100644 index c2dc888ab9aef..0000000000000 --- a/x-pack/plugins/security_solution/public/flyout/left/translations.ts +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; - -export const VISUALIZE_TAB = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.visualizeTab', - { - defaultMessage: 'Visualize', - } -); - -export const INSIGHTS_TAB = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.insightsTab', - { - defaultMessage: 'Insights', - } -); - -export const INVESTIGATIONS_TAB = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.investigationsTab', - { - defaultMessage: 'Investigation', - } -); - -export const RESPONSE_TAB = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.responseTab', - { - defaultMessage: 'Response', - } -); diff --git a/x-pack/plugins/security_solution/public/flyout/preview/components/alert_reason_preview.test.tsx b/x-pack/plugins/security_solution/public/flyout/preview/components/alert_reason_preview.test.tsx index f84983e5ce13b..99540e38da725 100644 --- a/x-pack/plugins/security_solution/public/flyout/preview/components/alert_reason_preview.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/preview/components/alert_reason_preview.test.tsx @@ -6,6 +6,7 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { PreviewPanelContext } from '../context'; import { mockContextValue } from '../mocks/mock_preview_panel_context'; @@ -23,12 +24,15 @@ const panelContextValue = { describe('', () => { it('should render alert reason preview', () => { const { getByTestId } = render( - - - - - + + + + + + + ); expect(getByTestId(ALERT_REASON_PREVIEW_BODY_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(ALERT_REASON_PREVIEW_BODY_TEST_ID)).toHaveTextContent('Alert reason'); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/preview/components/alert_reason_preview.tsx b/x-pack/plugins/security_solution/public/flyout/preview/components/alert_reason_preview.tsx index e7460c1042788..476a1f3551948 100644 --- a/x-pack/plugins/security_solution/public/flyout/preview/components/alert_reason_preview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/preview/components/alert_reason_preview.tsx @@ -9,7 +9,7 @@ import React, { useMemo } from 'react'; import { EuiPanel, EuiSpacer, EuiTitle } from '@elastic/eui'; import styled from '@emotion/styled'; import { euiThemeVars } from '@kbn/ui-theme'; -import { ALERT_REASON_TITLE } from './translations'; +import { FormattedMessage } from '@kbn/i18n-react'; import { ALERT_REASON_PREVIEW_BODY_TEST_ID } from './test_ids'; import { usePreviewPanelContext } from '../context'; import { getRowRenderer } from '../../../timelines/components/timeline/body/renderers/get_row_renderer'; @@ -53,7 +53,12 @@ export const AlertReasonPreview: React.FC = () => { return ( -
    {ALERT_REASON_TITLE}
    +
    + +
    diff --git a/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.test.tsx b/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.test.tsx index 13be8994a7d14..68ada8b17cce8 100644 --- a/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.test.tsx @@ -88,12 +88,16 @@ describe('', () => { expect(getByTestId(RULE_PREVIEW_BODY_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RULE_PREVIEW_ABOUT_HEADER_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(RULE_PREVIEW_ABOUT_HEADER_TEST_ID)).toHaveTextContent('About'); expect(getByTestId(RULE_PREVIEW_ABOUT_CONTENT_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RULE_PREVIEW_DEFINITION_HEADER_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(RULE_PREVIEW_DEFINITION_HEADER_TEST_ID)).toHaveTextContent('Definition'); expect(getByTestId(RULE_PREVIEW_DEFINITION_CONTENT_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RULE_PREVIEW_SCHEDULE_HEADER_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(RULE_PREVIEW_SCHEDULE_HEADER_TEST_ID)).toHaveTextContent('Schedule'); expect(getByTestId(RULE_PREVIEW_SCHEDULE_CONTENT_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RULE_PREVIEW_ACTIONS_HEADER_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(RULE_PREVIEW_ACTIONS_HEADER_TEST_ID)).toHaveTextContent('Actions'); expect(getByTestId(RULE_PREVIEW_ACTIONS_CONTENT_TEST_ID)).toBeInTheDocument(); }); diff --git a/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx b/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx index d1595f7419aa0..db87a9a681902 100644 --- a/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview.tsx @@ -6,6 +6,7 @@ */ import React, { memo, useState, useEffect } from 'react'; import { EuiText, EuiHorizontalRule, EuiSpacer, EuiPanel, EuiLoadingSpinner } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useKibana } from '../../../common/lib/kibana'; import { useGetSavedQuery } from '../../../detections/pages/detection_engine/rules/use_get_saved_query'; import type { Rule } from '../../../detection_engine/rule_management/logic'; @@ -26,7 +27,6 @@ import { RULE_PREVIEW_ACTIONS_TEST_ID, RULE_PREVIEW_LOADING_TEST_ID, } from './test_ids'; -import * as i18n from './translations'; /** * Rule summary on a preview panel on top of the right section of expandable flyout @@ -84,7 +84,12 @@ export const RulePreview: React.FC = memo(() => { + } expanded data-test-subj={RULE_PREVIEW_ABOUT_TEST_ID} > @@ -103,7 +108,12 @@ export const RulePreview: React.FC = memo(() => { {defineRuleData && !isSavedQueryLoading && ( <> + } expanded={false} data-test-subj={RULE_PREVIEW_DEFINITION_TEST_ID} > @@ -125,7 +135,12 @@ export const RulePreview: React.FC = memo(() => { {scheduleRuleData && ( <> + } expanded={false} data-test-subj={RULE_PREVIEW_SCHEDULE_TEST_ID} > @@ -141,7 +156,12 @@ export const RulePreview: React.FC = memo(() => { )} {hasActions && ( + } expanded={false} data-test-subj={RULE_PREVIEW_ACTIONS_TEST_ID} > diff --git a/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview_footer.test.tsx b/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview_footer.test.tsx index 6a300c42976c9..383a034e55af1 100644 --- a/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview_footer.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview_footer.test.tsx @@ -30,6 +30,9 @@ describe('', () => { expect(getByTestId(RULE_PREVIEW_FOOTER_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RULE_PREVIEW_NAVIGATE_TO_RULE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(RULE_PREVIEW_NAVIGATE_TO_RULE_TEST_ID)).toHaveTextContent( + 'Show rule details' + ); }); it('should not render rule details link when ruleId is not available', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview_footer.tsx b/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview_footer.tsx index 161a28c53137d..e645a08f18197 100644 --- a/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview_footer.tsx +++ b/x-pack/plugins/security_solution/public/flyout/preview/components/rule_preview_footer.tsx @@ -7,9 +7,9 @@ import React, { memo } from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiFlyoutFooter } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; import { usePreviewPanelContext } from '../context'; import { RenderRuleName } from '../../../timelines/components/timeline/body/renderers/formatted_field_helpers'; -import { SHOW_RULE_DETAILS } from './translations'; import { SIGNAL_RULE_NAME_FIELD_NAME } from '../../../timelines/components/timeline/body/renderers/constants'; import { RULE_PREVIEW_FOOTER_TEST_ID } from './test_ids'; @@ -31,7 +31,9 @@ export const RulePreviewFooter: React.FC = memo(() => { isAggregatable={false} isDraggable={false} linkValue={ruleId} - value={SHOW_RULE_DETAILS} + value={i18n.translate('xpack.securitySolution.flyout.preview.rule.viewDetailsLabel', { + defaultMessage: 'Show rule details', + })} openInNewTab /> diff --git a/x-pack/plugins/security_solution/public/flyout/preview/components/translations.ts b/x-pack/plugins/security_solution/public/flyout/preview/components/translations.ts deleted file mode 100644 index 36bfdd33ea2ca..0000000000000 --- a/x-pack/plugins/security_solution/public/flyout/preview/components/translations.ts +++ /dev/null @@ -1,38 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; - -export const SHOW_RULE_DETAILS = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.viewRuleDetailsText', - { defaultMessage: 'Show rule details' } -); - -export const RULE_PREVIEW_ABOUT_TEXT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.rulePreviewAboutSectionText', - { defaultMessage: 'About' } -); - -export const RULE_PREVIEW_DEFINITION_TEXT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.rulePreviewDefinitionSectionText', - { defaultMessage: 'Definition' } -); - -export const RULE_PREVIEW_SCHEDULE_TEXT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.rulePreviewScheduleSectionText', - { defaultMessage: 'Schedule' } -); - -export const RULE_PREVIEW_ACTIONS_TEXT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.rulePreviewActionsSectionText', - { defaultMessage: 'Actions' } -); - -export const ALERT_REASON_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.alertReasonTitle', - { defaultMessage: 'Alert reason' } -); diff --git a/x-pack/plugins/security_solution/public/flyout/preview/panels.tsx b/x-pack/plugins/security_solution/public/flyout/preview/panels.tsx index e585c58945d9c..b5e42754a46d3 100644 --- a/x-pack/plugins/security_solution/public/flyout/preview/panels.tsx +++ b/x-pack/plugins/security_solution/public/flyout/preview/panels.tsx @@ -8,7 +8,6 @@ import React from 'react'; import { AlertReasonPreview } from './components/alert_reason_preview'; import type { PreviewPanelPaths } from '.'; -import { ALERT_REASON_PREVIEW, RULE_PREVIEW } from './translations'; import { RulePreview } from './components/rule_preview'; import { RulePreviewFooter } from './components/rule_preview_footer'; @@ -17,10 +16,6 @@ export type PreviewPanelType = Array<{ * Id of the preview panel */ id: PreviewPanelPaths; - /** - * Panel name - */ - name: string; /** * Main body component to be rendered in the panel */ @@ -37,13 +32,11 @@ export type PreviewPanelType = Array<{ export const panels: PreviewPanelType = [ { id: 'rule-preview', - name: RULE_PREVIEW, content: , footer: , }, { id: 'alert-reason-preview', - name: ALERT_REASON_PREVIEW, content: , }, ]; diff --git a/x-pack/plugins/security_solution/public/flyout/preview/translations.ts b/x-pack/plugins/security_solution/public/flyout/preview/translations.ts deleted file mode 100644 index cf359e7900cea..0000000000000 --- a/x-pack/plugins/security_solution/public/flyout/preview/translations.ts +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; - -export const RULE_PREVIEW = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.rulePreviewPanel', - { defaultMessage: 'Rule preview' } -); - -export const ALERT_REASON_PREVIEW = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.alertReasonPreviewPanel', - { defaultMessage: 'Alert reason preview' } -); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/about_section.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/about_section.tsx index d1cc1ca3f0a65..0d28b1c13f641 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/about_section.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/about_section.tsx @@ -8,9 +8,9 @@ import { EuiSpacer } from '@elastic/eui'; import type { VFC } from 'react'; import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { ExpandableSection } from './expandable_section'; import { ABOUT_SECTION_TEST_ID } from './test_ids'; -import { ABOUT_TITLE } from './translations'; import { Description } from './description'; import { Reason } from './reason'; import { MitreAttack } from './mitre_attack'; @@ -29,7 +29,12 @@ export const AboutSection: VFC = ({ expanded = true }) => { return ( + } data-test-subj={ABOUT_SECTION_TEST_ID} > diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview.tsx index 3d872640a5a22..42749285de612 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview.tsx @@ -7,9 +7,9 @@ import React, { useEffect, useMemo, useState } from 'react'; import { find } from 'lodash/fp'; import { EuiTreeView } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; import { ANALYZER_PREVIEW_TEST_ID } from './test_ids'; import { getTreeNodes } from '../utils/analyzer_helpers'; -import { ANALYZER_PREVIEW_TITLE } from './translations'; import { ANCESTOR_ID, RULE_INDICES } from '../../shared/constants/field_names'; import { useRightPanelContext } from '../context'; import { useAlertPrevalenceFromProcessTree } from '../../../common/containers/alerts/use_alert_prevalence_from_process_tree'; @@ -67,7 +67,12 @@ export const AnalyzerPreview: React.FC = () => {
    diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.test.tsx index cecddeec1b987..4e764483680b5 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.test.tsx @@ -11,7 +11,7 @@ import React from 'react'; import { RightPanelContext } from '../context'; import { AnalyzerPreviewContainer } from './analyzer_preview_container'; import { isInvestigateInResolverActionEnabled } from '../../../detections/components/alerts_table/timeline_actions/investigate_in_resolver'; -import { ANALYZER_PREVIEW_TEST_ID } from './test_ids'; +import { ANALYZER_PREVIEW_NO_DATA_TEST_ID, ANALYZER_PREVIEW_TEST_ID } from './test_ids'; import { useAlertPrevalenceFromProcessTree } from '../../../common/containers/alerts/use_alert_prevalence_from_process_tree'; import * as mock from '../mocks/mock_analyzer_data'; import { @@ -38,9 +38,6 @@ const panelContextValue = { dataFormattedForFieldBrowser: mockDataFormattedForFieldBrowser, } as unknown as RightPanelContext; -const TEST_ID = ANALYZER_PREVIEW_TEST_ID; -const ERROR_TEST_ID = `${ANALYZER_PREVIEW_TEST_ID}Error`; - const renderAnalyzerPreview = () => render( @@ -69,8 +66,8 @@ describe('AnalyzerPreviewContainer', () => { const { getByTestId, queryByTestId } = renderAnalyzerPreview(); - expect(getByTestId(TEST_ID)).toBeInTheDocument(); - expect(queryByTestId(ERROR_TEST_ID)).not.toBeInTheDocument(); + expect(getByTestId(ANALYZER_PREVIEW_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(ANALYZER_PREVIEW_NO_DATA_TEST_ID)).not.toBeInTheDocument(); expect( getByTestId(EXPANDABLE_PANEL_HEADER_TITLE_LINK_TEST_ID(ANALYZER_PREVIEW_TEST_ID)) ).toBeInTheDocument(); @@ -96,8 +93,11 @@ describe('AnalyzerPreviewContainer', () => { const { getByTestId, queryByTestId } = renderAnalyzerPreview(); - expect(queryByTestId(TEST_ID)).not.toBeInTheDocument(); - expect(getByTestId(ERROR_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(ANALYZER_PREVIEW_TEST_ID)).not.toBeInTheDocument(); + expect(getByTestId(ANALYZER_PREVIEW_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(ANALYZER_PREVIEW_NO_DATA_TEST_ID)).toHaveTextContent( + 'You can only visualize events triggered by hosts configured with the Elastic Defend integration or any sysmon data from winlogbeat. Refer to Visual event analyzerExternal link(opens in a new tab or window) for more information.' + ); expect( getByTestId(EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID(ANALYZER_PREVIEW_TEST_ID)) ).toBeInTheDocument(); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.tsx index ede2169fce268..fd582b37d6fcb 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/analyzer_preview_container.tsx @@ -18,8 +18,7 @@ import { setActiveTabTimeline } from '../../../timelines/store/timeline/actions' import { useRightPanelContext } from '../context'; import { isInvestigateInResolverActionEnabled } from '../../../detections/components/alerts_table/timeline_actions/investigate_in_resolver'; import { AnalyzerPreview } from './analyzer_preview'; -import { ANALYZER_PREVIEW_TEST_ID } from './test_ids'; -import { ANALYZER_PREVIEW_TITLE } from './translations'; +import { ANALYZER_PREVIEW_NO_DATA_TEST_ID, ANALYZER_PREVIEW_TEST_ID } from './test_ids'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; const timelineId = 'timeline-1'; @@ -58,7 +57,12 @@ export const AnalyzerPreviewContainer: React.FC = () => { return ( + ), iconType: 'timeline', ...(isEnabled && { callback: goToAnalyzerTab }), }} @@ -67,9 +71,9 @@ export const AnalyzerPreviewContainer: React.FC = () => { {isEnabled ? ( ) : ( -
    +

    {'sysmon'}, @@ -80,14 +84,14 @@ export const AnalyzerPreviewContainer: React.FC = () => { target="_blank" > ), }} /> -

    +

    )}
    ); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.test.tsx index 664b90a54b767..a579c124539d1 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.test.tsx @@ -14,6 +14,7 @@ import { CorrelationsOverview } from './correlations_overview'; import { CORRELATIONS_TAB_ID } from '../../left/components/correlations_details'; import { LeftPanelInsightsTab, LeftPanelKey } from '../../left'; import { + INSIGHTS_CORRELATIONS_NO_DATA_TEST_ID, INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_ANCESTRY_TEST_ID, INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SAME_SOURCE_EVENT_TEST_ID, INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SESSION_TEST_ID, @@ -74,7 +75,6 @@ const RELATED_ALERTS_BY_SESSION_TEST_ID = SUMMARY_ROW_VALUE_TEST_ID( const RELATED_CASES_TEST_ID = SUMMARY_ROW_VALUE_TEST_ID( INSIGHTS_CORRELATIONS_RELATED_CASES_TEST_ID ); -const CORRELATIONS_ERROR_TEST_ID = `${INSIGHTS_CORRELATIONS_TEST_ID}Error`; const panelContextValue = { eventId: 'event id', @@ -141,12 +141,13 @@ describe('', () => { dataCount: 1, }); - const { getByTestId } = render(renderCorrelationsOverview(panelContextValue)); + const { getByTestId, queryByTestId } = render(renderCorrelationsOverview(panelContextValue)); expect(getByTestId(RELATED_ALERTS_BY_ANCESTRY_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RELATED_ALERTS_BY_SAME_SOURCE_EVENT_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RELATED_ALERTS_BY_SESSION_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RELATED_CASES_TEST_ID)).toBeInTheDocument(); expect(getByTestId(SUPPRESSED_ALERTS_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(INSIGHTS_CORRELATIONS_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should hide rows and show error message if show values are false', () => { @@ -168,7 +169,10 @@ describe('', () => { expect(queryByTestId(RELATED_ALERTS_BY_SESSION_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(RELATED_CASES_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(SUPPRESSED_ALERTS_TEST_ID)).not.toBeInTheDocument(); - expect(getByTestId(CORRELATIONS_ERROR_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(INSIGHTS_CORRELATIONS_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(INSIGHTS_CORRELATIONS_NO_DATA_TEST_ID)).toHaveTextContent( + 'No correlations data available.' + ); }); it('should hide rows if values are null', () => { @@ -184,6 +188,7 @@ describe('', () => { expect(queryByTestId(RELATED_ALERTS_BY_SESSION_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(RELATED_CASES_TEST_ID)).not.toBeInTheDocument(); expect(queryByTestId(SUPPRESSED_ALERTS_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(INSIGHTS_CORRELATIONS_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should navigate to the left section Insights tab when clicking on button', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx index 750d260bbf21f..675e520c4bfb2 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/correlations_overview.tsx @@ -8,6 +8,7 @@ import React, { useCallback } from 'react'; import { EuiFlexGroup } from '@elastic/eui'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { FormattedMessage } from '@kbn/i18n-react'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; import { useShowRelatedAlertsBySession } from '../../shared/hooks/use_show_related_alerts_by_session'; import { RelatedAlertsBySession } from './related_alerts_by_session'; @@ -19,9 +20,8 @@ import { SuppressedAlerts } from './suppressed_alerts'; import { useShowSuppressedAlerts } from '../../shared/hooks/use_show_suppressed_alerts'; import { RelatedCases } from './related_cases'; import { useShowRelatedCases } from '../../shared/hooks/use_show_related_cases'; -import { INSIGHTS_CORRELATIONS_TEST_ID } from './test_ids'; +import { INSIGHTS_CORRELATIONS_NO_DATA_TEST_ID, INSIGHTS_CORRELATIONS_TEST_ID } from './test_ids'; import { useRightPanelContext } from '../context'; -import { CORRELATIONS_ERROR, CORRELATIONS_TITLE } from './translations'; import { LeftPanelKey, LeftPanelInsightsTab } from '../../left'; import { CORRELATIONS_TAB_ID } from '../../left/components/correlations_details'; @@ -84,7 +84,12 @@ export const CorrelationsOverview: React.FC = () => { return ( + ), callback: goToCorrelationsTab, iconType: 'arrowStart', }} @@ -107,7 +112,12 @@ export const CorrelationsOverview: React.FC = () => { )}
    ) : ( -
    {CORRELATIONS_ERROR}
    +

    + +

    )}
    ); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/description.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/description.test.tsx index 48b12f31599cf..5b94bff38c3d9 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/description.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/description.test.tsx @@ -6,13 +6,9 @@ */ import React from 'react'; +import { FormattedMessage, __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { DESCRIPTION_TITLE_TEST_ID, RULE_SUMMARY_BUTTON_TEST_ID } from './test_ids'; -import { - DOCUMENT_DESCRIPTION_TITLE, - PREVIEW_RULE_DETAILS, - RULE_DESCRIPTION_TITLE, -} from './translations'; import { Description } from './description'; import { RightPanelContext } from '../context'; import { mockGetFieldsData } from '../mocks/mock_context'; @@ -59,11 +55,13 @@ const panelContextValue = (dataFormattedForFieldBrowser: TimelineEventsDetailsIt const renderDescription = (panelContext: RightPanelContext) => render( - - - - - + + + + + + + ); describe('', () => { @@ -73,7 +71,7 @@ describe('', () => { ); expect(getByTestId(DESCRIPTION_TITLE_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(DESCRIPTION_TITLE_TEST_ID)).toHaveTextContent(RULE_DESCRIPTION_TITLE); + expect(getByTestId(DESCRIPTION_TITLE_TEST_ID)).toHaveTextContent('Rule description'); expect(getByTestId(RULE_SUMMARY_BUTTON_TEST_ID)).toBeInTheDocument(); }); @@ -83,7 +81,7 @@ describe('', () => { ); expect(getByTestId(DESCRIPTION_TITLE_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(DESCRIPTION_TITLE_TEST_ID)).toHaveTextContent(RULE_DESCRIPTION_TITLE); + expect(getByTestId(DESCRIPTION_TITLE_TEST_ID)).toHaveTextContent('Rule description'); expect(queryByTestId(RULE_SUMMARY_BUTTON_TEST_ID)).not.toBeInTheDocument(); }); @@ -91,7 +89,7 @@ describe('', () => { const { getByTestId } = renderDescription(panelContextValue([ruleDescription])); expect(getByTestId(DESCRIPTION_TITLE_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(DESCRIPTION_TITLE_TEST_ID)).toHaveTextContent(DOCUMENT_DESCRIPTION_TITLE); + expect(getByTestId(DESCRIPTION_TITLE_TEST_ID)).toHaveTextContent('Document description'); }); it('should open preview panel when clicking on button', () => { @@ -109,7 +107,12 @@ describe('', () => { indexName: panelContext.indexName, scopeId: panelContext.scopeId, banner: { - title: PREVIEW_RULE_DETAILS, + title: ( + + ), backgroundColor: 'warning', textColor: 'warning', }, diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/description.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/description.tsx index 521609a4c267c..ac8ec64a0ee34 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/description.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/description.tsx @@ -10,6 +10,7 @@ import type { FC } from 'react'; import React, { useMemo, useCallback } from 'react'; import { isEmpty } from 'lodash'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useRightPanelContext } from '../context'; import { useBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; import { @@ -17,12 +18,6 @@ import { DESCRIPTION_TITLE_TEST_ID, RULE_SUMMARY_BUTTON_TEST_ID, } from './test_ids'; -import { - DOCUMENT_DESCRIPTION_TITLE, - RULE_DESCRIPTION_TITLE, - RULE_SUMMARY_TEXT, - PREVIEW_RULE_DETAILS, -} from './translations'; import { PreviewPanelKey, type PreviewPanelProps, RulePreviewPanel } from '../../preview'; /** @@ -45,7 +40,12 @@ export const Description: FC = () => { indexName, scopeId, banner: { - title: PREVIEW_RULE_DETAILS, + title: ( + + ), backgroundColor: 'warning', textColor: 'warning', }, @@ -66,7 +66,10 @@ export const Description: FC = () => { iconSide="right" data-test-subj={RULE_SUMMARY_BUTTON_TEST_ID} > - {RULE_SUMMARY_TEXT} + ), @@ -82,12 +85,22 @@ export const Description: FC = () => { {isAlert ? ( -
    {RULE_DESCRIPTION_TITLE}
    +
    + +
    {viewRule}
    ) : ( -
    {DOCUMENT_DESCRIPTION_TITLE}
    +
    + +
    )} diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.test.tsx index 9c79f100bf9e2..67ccba02712ed 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.test.tsx @@ -54,7 +54,7 @@ describe('', () => { }); it('should render user and host', () => { - const { getByTestId } = render( + const { getByTestId, queryByTestId } = render( @@ -63,6 +63,7 @@ describe('', () => { ); expect(getByTestId(ENTITIES_USER_OVERVIEW_TEST_ID)).toBeInTheDocument(); expect(getByTestId(ENTITIES_HOST_OVERVIEW_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(INSIGHTS_ENTITIES_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should only render user when host name is null', () => { @@ -81,6 +82,7 @@ describe('', () => { expect(getByTestId(ENTITIES_USER_OVERVIEW_TEST_ID)).toBeInTheDocument(); expect(queryByTestId(ENTITIES_HOST_OVERVIEW_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(INSIGHTS_ENTITIES_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should only render host when user name is null', () => { @@ -99,6 +101,7 @@ describe('', () => { expect(getByTestId(ENTITIES_HOST_OVERVIEW_TEST_ID)).toBeInTheDocument(); expect(queryByTestId(ENTITIES_USER_OVERVIEW_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(INSIGHTS_ENTITIES_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should render no data message if both host name and user name are null/blank', () => { @@ -116,5 +119,8 @@ describe('', () => { ); expect(queryByTestId(INSIGHTS_ENTITIES_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(INSIGHTS_ENTITIES_NO_DATA_TEST_ID)).toHaveTextContent( + 'Host and user information are unavailable for this alert.' + ); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.tsx index 920b54be950c1..ff2c314ec76f4 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/entities_overview.tsx @@ -8,10 +8,10 @@ import React, { useCallback } from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { FormattedMessage } from '@kbn/i18n-react'; import { INSIGHTS_ENTITIES_NO_DATA_TEST_ID, INSIGHTS_ENTITIES_TEST_ID } from './test_ids'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; import { useRightPanelContext } from '../context'; -import { ENTITIES_NO_DATA_MESSAGE, ENTITIES_TITLE } from './translations'; import { getField } from '../../shared/utils'; import { HostEntityOverview } from './host_entity_overview'; import { UserEntityOverview } from './user_entity_overview'; @@ -46,7 +46,12 @@ export const EntitiesOverview: React.FC = () => { <> + ), callback: goToEntitiesTab, iconType: 'arrowStart', }} @@ -67,7 +72,12 @@ export const EntitiesOverview: React.FC = () => { )} ) : ( -
    {ENTITIES_NO_DATA_MESSAGE}
    +

    + +

    )}
    diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/expand_detail_button.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/expand_detail_button.test.tsx index b1d893b19a153..55a371e4a640c 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/expand_detail_button.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/expand_detail_button.test.tsx @@ -6,6 +6,7 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { RightPanelContext } from '../context'; import { ExpandDetailButton } from './expand_detail_button'; @@ -13,6 +14,20 @@ import { COLLAPSE_DETAILS_BUTTON_TEST_ID, EXPAND_DETAILS_BUTTON_TEST_ID } from ' import { ExpandableFlyoutContext } from '@kbn/expandable-flyout/src/context'; import { LeftPanelKey } from '../../left'; +const renderExpandDetailButton = ( + flyoutContextValue: ExpandableFlyoutContext, + panelContextValue: RightPanelContext +) => + render( + + + + + + + + ); + describe('', () => { it('should render expand button', () => { const flyoutContextValue = { @@ -25,15 +40,14 @@ describe('', () => { scopeId: 'scopeId', } as unknown as RightPanelContext; - const { getByTestId } = render( - - - - - + const { getByTestId, queryByTestId } = renderExpandDetailButton( + flyoutContextValue, + panelContextValue ); expect(getByTestId(EXPAND_DETAILS_BUTTON_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(EXPAND_DETAILS_BUTTON_TEST_ID)).toHaveTextContent('Expand details'); + expect(queryByTestId(COLLAPSE_DETAILS_BUTTON_TEST_ID)).not.toBeInTheDocument(); getByTestId(EXPAND_DETAILS_BUTTON_TEST_ID).click(); expect(flyoutContextValue.openLeftPanel).toHaveBeenCalledWith({ @@ -55,15 +69,14 @@ describe('', () => { } as unknown as ExpandableFlyoutContext; const panelContextValue = {} as unknown as RightPanelContext; - const { getByTestId } = render( - - - - - + const { getByTestId, queryByTestId } = renderExpandDetailButton( + flyoutContextValue, + panelContextValue ); expect(getByTestId(COLLAPSE_DETAILS_BUTTON_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(COLLAPSE_DETAILS_BUTTON_TEST_ID)).toHaveTextContent('Collapse details'); + expect(queryByTestId(EXPAND_DETAILS_BUTTON_TEST_ID)).not.toBeInTheDocument(); getByTestId(COLLAPSE_DETAILS_BUTTON_TEST_ID).click(); expect(flyoutContextValue.closeLeftPanel).toHaveBeenCalled(); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/expand_detail_button.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/expand_detail_button.tsx index 4e02f423d1720..f066e1d411ddf 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/expand_detail_button.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/expand_detail_button.tsx @@ -9,10 +9,10 @@ import { EuiButtonEmpty } from '@elastic/eui'; import type { FC } from 'react'; import React, { memo, useCallback } from 'react'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { FormattedMessage } from '@kbn/i18n-react'; import { COLLAPSE_DETAILS_BUTTON_TEST_ID, EXPAND_DETAILS_BUTTON_TEST_ID } from './test_ids'; import { LeftPanelKey } from '../../left'; import { useRightPanelContext } from '../context'; -import { COLLAPSE_DETAILS_BUTTON, EXPAND_DETAILS_BUTTON } from './translations'; /** * Button displayed in the top left corner of the panel, to expand the left section of the document details expandable flyout @@ -43,7 +43,10 @@ export const ExpandDetailButton: FC = memo(() => { iconType="arrowEnd" data-test-subj={COLLAPSE_DETAILS_BUTTON_TEST_ID} > - {COLLAPSE_DETAILS_BUTTON} + ) : ( { iconType="arrowStart" data-test-subj={EXPAND_DETAILS_BUTTON_TEST_ID} > - {EXPAND_DETAILS_BUTTON} + ); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.stories.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.stories.tsx index 64411fbe69513..bb315fe04ac2e 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.stories.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.stories.tsx @@ -9,7 +9,7 @@ import React from 'react'; import type { Story } from '@storybook/react'; import { ExpandableSection } from './expandable_section'; -const title = 'title'; +const title =

    {'title'}

    ; const children =
    {'content'}
    ; export default { diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.test.tsx index e0d08e260f944..cad0c5563f629 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { render } from '@testing-library/react'; import { CONTENT_TEST_ID, ExpandableSection, HEADER_TEST_ID } from './expandable_section'; -const title = 'title'; +const title =

    {'title'}

    ; const children =
    {'content'}
    ; const testId = 'test'; const headerTestId = testId + HEADER_TEST_ID; diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.tsx index 0e59643ae3d27..d3c95661f7fe5 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/expandable_section.tsx @@ -6,6 +6,7 @@ */ import { EuiAccordion, EuiFlexGroup, EuiSpacer, EuiTitle, useGeneratedHtmlId } from '@elastic/eui'; +import type { ReactElement } from 'react'; import React, { type VFC } from 'react'; import { useAccordionState } from '../hooks/use_accordion_state'; @@ -20,7 +21,7 @@ export interface DescriptionSectionProps { /** * Title value to render in the header of the accordion */ - title: string; + title: ReactElement; /** * React component to render in the expandable section of the accordion */ diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/header_title.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/header_title.test.tsx index 3256d3c3895cd..0495198cd152d 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/header_title.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/header_title.test.tsx @@ -17,7 +17,6 @@ import { FLYOUT_HEADER_TITLE_TEST_ID, } from './test_ids'; import { HeaderTitle } from './header_title'; -import { EVENT_DETAILS } from './translations'; import moment from 'moment-timezone'; import { useDateFormat, useTimeZone } from '../../../common/lib/kibana'; import { mockDataFormattedForFieldBrowser, mockGetFieldsData } from '../mocks/mock_context'; @@ -118,6 +117,6 @@ describe('', () => { const { getByTestId } = renderHeader(contextValue); - expect(getByTestId(FLYOUT_HEADER_TITLE_TEST_ID)).toHaveTextContent(EVENT_DETAILS); + expect(getByTestId(FLYOUT_HEADER_TITLE_TEST_ID)).toHaveTextContent('Event details'); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/header_title.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/header_title.tsx index 716db70b60947..d3badd25eaa24 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/header_title.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/header_title.tsx @@ -11,6 +11,7 @@ import { NewChatById } from '@kbn/elastic-assistant'; import { EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiTitle } from '@elastic/eui'; import { isEmpty } from 'lodash'; import { css } from '@emotion/react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useGetAlertDetailsFlyoutLink } from '../../../timelines/components/side_panel/event_details/use_get_alert_details_flyout_link'; import { DocumentStatus } from './status'; import { useAssistant } from '../hooks/use_assistant'; @@ -20,7 +21,6 @@ import { } from '../../../common/components/event_details/translations'; import { DocumentSeverity } from './severity'; import { RiskScore } from './risk_score'; -import { EVENT_DETAILS } from './translations'; import { useBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; import { useRightPanelContext } from '../context'; import { PreferenceFormattedDate } from '../../../common/components/formatted_date'; @@ -87,7 +87,14 @@ export const HeaderTitle: VFC = memo(({ flyoutIsExpandable })

    - {isAlert && !isEmpty(ruleName) ? ruleName : EVENT_DETAILS} + {isAlert && !isEmpty(ruleName) ? ( + ruleName + ) : ( + + )}

    diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.tsx index f6944df60396a..d47ab0c4b3c02 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/highlighted_fields.tsx @@ -9,6 +9,7 @@ import type { FC } from 'react'; import React, { useMemo } from 'react'; import type { EuiBasicTableColumn } from '@elastic/eui'; import { EuiFlexGroup, EuiFlexItem, EuiInMemoryTable, EuiPanel, EuiTitle } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { getSourcererScopeId } from '../../../helpers'; import { convertHighlightedFieldsToTableRow } from '../../shared/utils/highlighted_fields_helpers'; import { useRuleWithFallback } from '../../../detection_engine/rule_management/logic/use_rule_with_fallback'; @@ -20,11 +21,6 @@ import { SecurityCellActionsTrigger, } from '../../../common/components/cell_actions'; import { HIGHLIGHTED_FIELDS_DETAILS_TEST_ID, HIGHLIGHTED_FIELDS_TITLE_TEST_ID } from './test_ids'; -import { - HIGHLIGHTED_FIELDS_FIELD_COLUMN, - HIGHLIGHTED_FIELDS_TITLE, - HIGHLIGHTED_FIELDS_VALUE_COLUMN, -} from './translations'; import { useRightPanelContext } from '../context'; import { useHighlightedFields } from '../../shared/hooks/use_highlighted_fields'; @@ -52,13 +48,23 @@ export interface HighlightedFieldsTableRow { const columns: Array> = [ { field: 'field', - name: HIGHLIGHTED_FIELDS_FIELD_COLUMN, + name: ( + + ), 'data-test-subj': 'fieldCell', width: '50%', }, { field: 'description', - name: HIGHLIGHTED_FIELDS_VALUE_COLUMN, + name: ( + + ), 'data-test-subj': 'valueCell', width: '50%', render: (description: { @@ -108,7 +114,12 @@ export const HighlightedFields: FC = () => { -
    {HIGHLIGHTED_FIELDS_TITLE}
    +
    + +
    diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/host_entity_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/host_entity_overview.tsx index 88804ffb97d12..60d045006ac49 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/host_entity_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/host_entity_overview.tsx @@ -18,6 +18,7 @@ import { import { css } from '@emotion/css'; import { getOr } from 'lodash/fp'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useRightPanelContext } from '../context'; import type { DescriptionList } from '../../../../common/utility_types'; import { @@ -44,7 +45,6 @@ import { ENTITIES_HOST_OVERVIEW_LINK_TEST_ID, TECHNICAL_PREVIEW_ICON_TEST_ID, } from './test_ids'; -import { TECHNICAL_PREVIEW_TITLE, TECHNICAL_PREVIEW_MESSAGE } from './translations'; import { LeftPanelInsightsTab, LeftPanelKey } from '../../left'; const HOST_ICON = 'storage'; @@ -150,10 +150,20 @@ export const HostEntityOverview: React.FC = ({ hostName <> {i18n.HOST_RISK_CLASSIFICATION} + } size="m" type="iInCircle" - content={TECHNICAL_PREVIEW_MESSAGE} + content={ + + } position="bottom" iconProps={{ className: 'eui-alignTop', diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/insights_section.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/insights_section.tsx index 86d0447a5a590..a51d5c8fec3fb 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/insights_section.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/insights_section.tsx @@ -7,11 +7,11 @@ import React from 'react'; import { EuiSpacer } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { CorrelationsOverview } from './correlations_overview'; import { PrevalenceOverview } from './prevalence_overview'; import { ThreatIntelligenceOverview } from './threat_intelligence_overview'; import { INSIGHTS_TEST_ID } from './test_ids'; -import { INSIGHTS_TITLE } from './translations'; import { EntitiesOverview } from './entities_overview'; import { ExpandableSection } from './expandable_section'; @@ -27,7 +27,16 @@ export interface InsightsSectionProps { */ export const InsightsSection: React.FC = ({ expanded = false }) => { return ( - + + } + expanded={expanded} + data-test-subj={INSIGHTS_TEST_ID} + > diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/insights_summary_row.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/insights_summary_row.tsx index f3d8e6d25d9d5..8a981d037667f 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/insights_summary_row.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/insights_summary_row.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import type { VFC } from 'react'; +import type { ReactElement, VFC } from 'react'; import React from 'react'; import { css } from '@emotion/react'; import { EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiHealth, EuiSkeletonText } from '@elastic/eui'; @@ -31,7 +31,7 @@ export interface InsightsSummaryRowProps { /** * Text corresponding of the number of results/entries */ - text: string; + text: string | ReactElement; /** * Optional parameter for now, will be used to display a dot on the right side * (corresponding to some sort of severity?) diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.test.tsx index a3d6c932b6f14..22f7f4502858a 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.test.tsx @@ -6,6 +6,7 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { InvestigationGuide } from './investigation_guide'; import { RightPanelContext } from '../context'; @@ -13,20 +14,24 @@ import { INVESTIGATION_GUIDE_BUTTON_TEST_ID, INVESTIGATION_GUIDE_LOADING_TEST_ID, INVESTIGATION_GUIDE_NO_DATA_TEST_ID, + INVESTIGATION_GUIDE_TEST_ID, } from './test_ids'; import { mockContextValue } from '../mocks/mock_right_panel_context'; import { mockFlyoutContextValue } from '../../shared/mocks/mock_flyout_context'; import { ExpandableFlyoutContext } from '@kbn/expandable-flyout/src/context'; import { useInvestigationGuide } from '../../shared/hooks/use_investigation_guide'; +import { LeftPanelInvestigationTab, LeftPanelKey } from '../../left'; jest.mock('../../shared/hooks/use_investigation_guide'); -const renderInvestigationGuide = (context: RightPanelContext = mockContextValue) => ( - - - - - +const renderInvestigationGuide = () => ( + + + + + + + ); describe('', () => { @@ -37,16 +42,26 @@ describe('', () => { basicAlertData: { ruleId: 'ruleId' }, ruleNote: 'test note', }); - const { getByTestId } = render(renderInvestigationGuide()); + const { getByTestId, queryByTestId } = render(renderInvestigationGuide()); + expect(getByTestId(INVESTIGATION_GUIDE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(INVESTIGATION_GUIDE_TEST_ID)).toHaveTextContent('Investigation guide'); expect(getByTestId(INVESTIGATION_GUIDE_BUTTON_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(INVESTIGATION_GUIDE_BUTTON_TEST_ID)).toHaveTextContent( + 'Show investigation guide' + ); + expect(queryByTestId(INVESTIGATION_GUIDE_LOADING_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should render loading', () => { (useInvestigationGuide as jest.Mock).mockReturnValue({ loading: true, }); - const { getByTestId } = render(renderInvestigationGuide()); + const { getByTestId, queryByTestId } = render(renderInvestigationGuide()); expect(getByTestId(INVESTIGATION_GUIDE_LOADING_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(INVESTIGATION_GUIDE_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(INVESTIGATION_GUIDE_BUTTON_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should render no data message when there is no ruleId', () => { @@ -54,8 +69,12 @@ describe('', () => { basicAlertData: {}, ruleNote: 'test note', }); - const { getByTestId } = render(renderInvestigationGuide()); + const { getByTestId, queryByTestId } = render(renderInvestigationGuide()); + expect(queryByTestId(INVESTIGATION_GUIDE_BUTTON_TEST_ID)).not.toBeInTheDocument(); expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toHaveTextContent( + 'There’s no investigation guide for this rule.' + ); }); it('should render no data message when there is no rule note', () => { @@ -63,18 +82,45 @@ describe('', () => { basicAlertData: { ruleId: 'ruleId' }, ruleNote: undefined, }); - const { getByTestId } = render(renderInvestigationGuide()); + const { getByTestId, queryByTestId } = render(renderInvestigationGuide()); + expect(queryByTestId(INVESTIGATION_GUIDE_BUTTON_TEST_ID)).not.toBeInTheDocument(); expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toHaveTextContent( + 'There’s no investigation guide for this rule.' + ); }); it('should render no data message when useInvestigationGuide errors out', () => { (useInvestigationGuide as jest.Mock).mockReturnValue({ loading: false, error: true, - show: false, }); const { getByTestId } = render(renderInvestigationGuide()); expect(getByTestId(INVESTIGATION_GUIDE_NO_DATA_TEST_ID)).toBeInTheDocument(); }); + + it('should navigate to investigation guide when clicking on button', () => { + (useInvestigationGuide as jest.Mock).mockReturnValue({ + loading: false, + error: false, + basicAlertData: { ruleId: 'ruleId' }, + ruleNote: 'test note', + }); + + const { getByTestId } = render(renderInvestigationGuide()); + getByTestId(INVESTIGATION_GUIDE_BUTTON_TEST_ID).click(); + + expect(mockFlyoutContextValue.openLeftPanel).toHaveBeenCalledWith({ + id: LeftPanelKey, + path: { + tab: LeftPanelInvestigationTab, + }, + params: { + id: mockContextValue.eventId, + indexName: mockContextValue.indexName, + scopeId: mockContextValue.scopeId, + }, + }); + }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.tsx index 2175e67bbef53..a033ee74ddabf 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_guide.tsx @@ -7,6 +7,7 @@ import React, { useCallback } from 'react'; import { EuiButton, EuiFlexGroup, EuiFlexItem, EuiLoadingSpinner, EuiTitle } from '@elastic/eui'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useInvestigationGuide } from '../../shared/hooks/use_investigation_guide'; import { useRightPanelContext } from '../context'; import { LeftPanelKey, LeftPanelInvestigationTab } from '../../left'; @@ -16,11 +17,6 @@ import { INVESTIGATION_GUIDE_NO_DATA_TEST_ID, INVESTIGATION_GUIDE_TEST_ID, } from './test_ids'; -import { - INVESTIGATION_GUIDE_BUTTON, - INVESTIGATION_GUIDE_NO_DATA, - INVESTIGATION_GUIDE_TITLE, -} from './translations'; /** * Render either the investigation guide button that opens Investigation section in the left panel, @@ -65,7 +61,12 @@ export const InvestigationGuide: React.FC = () => { -
    {INVESTIGATION_GUIDE_TITLE}
    +
    + +
    @@ -75,12 +76,18 @@ export const InvestigationGuide: React.FC = () => { iconType="documentation" data-test-subj={INVESTIGATION_GUIDE_BUTTON_TEST_ID} > - {INVESTIGATION_GUIDE_BUTTON} + ) : ( -
    - {INVESTIGATION_GUIDE_NO_DATA} -
    +

    + +

    )}
    diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.test.tsx index 2d4141c4207a8..d7dea0bf1c92d 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.test.tsx @@ -6,6 +6,7 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { INVESTIGATION_SECTION_CONTENT_TEST_ID, @@ -25,44 +26,37 @@ const panelContextValue = { dataFormattedForFieldBrowser: mockDataFormattedForFieldBrowser, } as unknown as RightPanelContext; +const renderInvestigationSection = (expanded: boolean = false) => + render( + + + + + + + + ); + describe('', () => { beforeEach(() => { jest.clearAllMocks(); mockUseRuleWithFallback.mockReturnValue({ rule: { note: 'test note' } }); }); it('should render the component collapsed', () => { - const { getByTestId } = render( - - - - - - ); + const { getByTestId } = renderInvestigationSection(); expect(getByTestId(INVESTIGATION_SECTION_HEADER_TEST_ID)).toBeInTheDocument(); }); it('should render the component expanded', () => { - const { getByTestId } = render( - - - - - - ); + const { getByTestId } = renderInvestigationSection(true); expect(getByTestId(INVESTIGATION_SECTION_HEADER_TEST_ID)).toBeInTheDocument(); expect(getByTestId(INVESTIGATION_SECTION_CONTENT_TEST_ID)).toBeInTheDocument(); }); it('should expand the component when clicking on the arrow on header', () => { - const { getByTestId } = render( - - - - - - ); + const { getByTestId } = renderInvestigationSection(); getByTestId(INVESTIGATION_SECTION_HEADER_TEST_ID).click(); expect(getByTestId(INVESTIGATION_SECTION_CONTENT_TEST_ID)).toBeInTheDocument(); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.tsx index 655aa13ea177b..2cf91392ff154 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/investigation_section.tsx @@ -8,10 +8,10 @@ import type { VFC } from 'react'; import React from 'react'; import { EuiSpacer } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { ExpandableSection } from './expandable_section'; import { HighlightedFields } from './highlighted_fields'; import { INVESTIGATION_SECTION_TEST_ID } from './test_ids'; -import { INVESTIGATION_TITLE } from './translations'; import { InvestigationGuide } from './investigation_guide'; export interface DescriptionSectionProps { /** @@ -27,7 +27,12 @@ export const InvestigationSection: VFC = ({ expanded = return ( + } data-test-subj={INVESTIGATION_SECTION_TEST_ID} > diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.test.tsx index affaaca1e27bf..1c348f90b8627 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.test.tsx @@ -9,7 +9,7 @@ import { ExpandableFlyoutContext } from '@kbn/expandable-flyout/src/context'; import { render } from '@testing-library/react'; import { TestProviders } from '../../../common/mock'; import { RightPanelContext } from '../context'; -import { INSIGHTS_PREVALENCE_TEST_ID } from './test_ids'; +import { INSIGHTS_PREVALENCE_NO_DATA_TEST_ID, INSIGHTS_PREVALENCE_TEST_ID } from './test_ids'; import { LeftPanelInsightsTab, LeftPanelKey } from '../../left'; import React from 'react'; import { PrevalenceOverview } from './prevalence_overview'; @@ -68,11 +68,12 @@ describe('', () => { data: [], }); - const { getByTestId } = render(renderPrevalenceOverview()); + const { getByTestId, queryByTestId } = render(renderPrevalenceOverview()); expect( getByTestId(EXPANDABLE_PANEL_LOADING_TEST_ID(INSIGHTS_PREVALENCE_TEST_ID)) ).toBeInTheDocument(); + expect(queryByTestId(INSIGHTS_PREVALENCE_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should render no-data message', () => { @@ -84,7 +85,10 @@ describe('', () => { const { getByTestId } = render(renderPrevalenceOverview()); - expect(getByTestId(`${INSIGHTS_PREVALENCE_TEST_ID}Error`)).toBeInTheDocument(); + expect(getByTestId(INSIGHTS_PREVALENCE_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(INSIGHTS_PREVALENCE_NO_DATA_TEST_ID)).toHaveTextContent( + 'No prevalence data available.' + ); }); it('should render only data with prevalence less than 10%', () => { @@ -127,6 +131,8 @@ describe('', () => { const valueDataTestSubj2 = `${INSIGHTS_PREVALENCE_TEST_ID}${field2}Value`; expect(queryByTestId(iconDataTestSubj2)).not.toBeInTheDocument(); expect(queryByTestId(valueDataTestSubj2)).not.toBeInTheDocument(); + + expect(queryByTestId(INSIGHTS_PREVALENCE_NO_DATA_TEST_ID)).not.toBeInTheDocument(); }); it('should navigate to left section Insights tab when clicking on button', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx index 53e2d636d4bb6..e82219504dba1 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/prevalence_overview.tsx @@ -9,11 +9,11 @@ import type { FC } from 'react'; import React, { useCallback, useMemo } from 'react'; import { EuiFlexGroup } from '@elastic/eui'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { FormattedMessage } from '@kbn/i18n-react'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; import { usePrevalence } from '../../shared/hooks/use_prevalence'; -import { INSIGHTS_PREVALENCE_TEST_ID } from './test_ids'; +import { INSIGHTS_PREVALENCE_NO_DATA_TEST_ID, INSIGHTS_PREVALENCE_TEST_ID } from './test_ids'; import { useRightPanelContext } from '../context'; -import { PREVALENCE_NO_DATA, PREVALENCE_ROW_UNCOMMON, PREVALENCE_TITLE } from './translations'; import { LeftPanelKey, LeftPanelInsightsTab } from '../../left'; import { PREVALENCE_TAB_ID } from '../../left/components/prevalence_details'; import { InsightsSummaryRow } from './insights_summary_row'; @@ -70,7 +70,12 @@ export const PrevalenceOverview: FC = () => { return ( + ), callback: goToCorrelationsTab, iconType: 'arrowStart', }} @@ -82,12 +87,23 @@ export const PrevalenceOverview: FC = () => { uncommonData.map((d) => ( + } data-test-subj={`${INSIGHTS_PREVALENCE_TEST_ID}${d.field}`} /> )) ) : ( -
    {PREVALENCE_NO_DATA}
    +

    + +

    )}
    diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/reason.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/reason.test.tsx index 069dd973718a1..2edba002600e9 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/reason.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/reason.test.tsx @@ -7,6 +7,7 @@ import React from 'react'; import { render } from '@testing-library/react'; +import { FormattedMessage, __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { REASON_DETAILS_PREVIEW_BUTTON_TEST_ID, REASON_DETAILS_TEST_ID, @@ -17,7 +18,6 @@ import { RightPanelContext } from '../context'; import { mockDataFormattedForFieldBrowser, mockGetFieldsData } from '../mocks/mock_context'; import { ExpandableFlyoutContext } from '@kbn/expandable-flyout/src/context'; import { PreviewPanelKey } from '../../preview'; -import { PREVIEW_ALERT_REASON_DETAILS } from './translations'; const flyoutContextValue = { openPreviewPanel: jest.fn(), @@ -33,17 +33,36 @@ const panelContextValue = { const renderReason = (panelContext: RightPanelContext = panelContextValue) => render( - - - - - + + + + + + + ); describe('', () => { - it('should render the component', () => { + it('should render the component for alert', () => { const { getByTestId } = renderReason(); expect(getByTestId(REASON_TITLE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(REASON_TITLE_TEST_ID)).toHaveTextContent('Alert reason'); + expect(getByTestId(REASON_DETAILS_PREVIEW_BUTTON_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(REASON_DETAILS_PREVIEW_BUTTON_TEST_ID)).toHaveTextContent( + 'Show full reason' + ); + }); + + it('should render the component for document', () => { + const dataFormattedForFieldBrowser = [...mockDataFormattedForFieldBrowser]; + dataFormattedForFieldBrowser.shift(); + const panelContext = { + ...panelContextValue, + dataFormattedForFieldBrowser, + }; + const { getByTestId } = renderReason(panelContext); + expect(getByTestId(REASON_TITLE_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(REASON_TITLE_TEST_ID)).toHaveTextContent('Document reason'); }); it('should render no reason if the field is null', () => { @@ -70,7 +89,12 @@ describe('', () => { indexName: panelContextValue.indexName, scopeId: panelContextValue.scopeId, banner: { - title: PREVIEW_ALERT_REASON_DETAILS, + title: ( + + ), backgroundColor: 'warning', textColor: 'warning', }, diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/reason.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/reason.tsx index e7cd3c7fddf11..a245b0dbfa6e2 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/reason.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/reason.tsx @@ -10,6 +10,7 @@ import React, { useCallback, useMemo } from 'react'; import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiTitle } from '@elastic/eui'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; import { ALERT_REASON } from '@kbn/rule-data-utils'; +import { FormattedMessage } from '@kbn/i18n-react'; import { getField } from '../../shared/utils'; import { AlertReasonPreviewPanel, PreviewPanelKey } from '../../preview'; import { @@ -17,12 +18,6 @@ import { REASON_DETAILS_TEST_ID, REASON_TITLE_TEST_ID, } from './test_ids'; -import { - ALERT_REASON_DETAILS_TEXT, - ALERT_REASON_TITLE, - DOCUMENT_REASON_TITLE, - PREVIEW_ALERT_REASON_DETAILS, -} from './translations'; import { useBasicDataFromDetailsData } from '../../../timelines/components/side_panel/event_details/helpers'; import { useRightPanelContext } from '../context'; @@ -45,7 +40,12 @@ export const Reason: FC = () => { indexName, scopeId, banner: { - title: PREVIEW_ALERT_REASON_DETAILS, + title: ( + + ), backgroundColor: 'warning', textColor: 'warning', }, @@ -63,7 +63,10 @@ export const Reason: FC = () => { iconSide="right" data-test-subj={REASON_DETAILS_PREVIEW_BUTTON_TEST_ID} > - {ALERT_REASON_DETAILS_TEXT} + ), @@ -78,12 +81,22 @@ export const Reason: FC = () => { {isAlert ? ( -
    {ALERT_REASON_TITLE}
    +
    + +
    {viewPreview}
    ) : ( - DOCUMENT_REASON_TITLE +

    + +

    )} diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_ancestry.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_ancestry.test.tsx index 9f6a4ec83a2c2..b27f108d8723f 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_ancestry.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_ancestry.test.tsx @@ -6,6 +6,7 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { SUMMARY_ROW_ICON_TEST_ID, @@ -32,6 +33,13 @@ const LOADING_TEST_ID = SUMMARY_ROW_LOADING_TEST_ID( INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_ANCESTRY_TEST_ID ); +const renderRelatedAlertsByAncestry = () => + render( + + + + ); + describe('', () => { it('should render many related alerts correctly', () => { (useFetchRelatedAlertsByAncestry as jest.Mock).mockReturnValue({ @@ -40,9 +48,7 @@ describe('', () => { dataCount: 2, }); - const { getByTestId } = render( - - ); + const { getByTestId } = renderRelatedAlertsByAncestry(); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); @@ -57,9 +63,7 @@ describe('', () => { dataCount: 1, }); - const { getByTestId } = render( - - ); + const { getByTestId } = renderRelatedAlertsByAncestry(); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); @@ -72,9 +76,7 @@ describe('', () => { loading: true, }); - const { getByTestId } = render( - - ); + const { getByTestId } = renderRelatedAlertsByAncestry(); expect(getByTestId(LOADING_TEST_ID)).toBeInTheDocument(); }); @@ -84,9 +86,7 @@ describe('', () => { error: true, }); - const { container } = render( - - ); + const { container } = renderRelatedAlertsByAncestry(); expect(container).toBeEmptyDOMElement(); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_ancestry.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_ancestry.tsx index 0a48443de7320..db1bc2e42bb2b 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_ancestry.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_ancestry.tsx @@ -6,8 +6,8 @@ */ import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useFetchRelatedAlertsByAncestry } from '../../shared/hooks/use_fetch_related_alerts_by_ancestry'; -import { CORRELATIONS_ANCESTRY_ALERTS } from '../../shared/translations'; import { InsightsSummaryRow } from './insights_summary_row'; import { INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_ANCESTRY_TEST_ID } from './test_ids'; @@ -41,7 +41,13 @@ export const RelatedAlertsByAncestry: React.VFC = indices, scopeId, }); - const text = CORRELATIONS_ANCESTRY_ALERTS(dataCount); + const text = ( + + ); return ( + render( + + + + ); + describe('', () => { it('should render many related alerts correctly', () => { (useFetchRelatedAlertsBySameSourceEvent as jest.Mock).mockReturnValue({ @@ -39,9 +47,7 @@ describe('', () => { dataCount: 2, }); - const { getByTestId } = render( - - ); + const { getByTestId } = renderRelatedAlertsBySameSourceEvent(); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); @@ -56,9 +62,7 @@ describe('', () => { dataCount: 1, }); - const { getByTestId } = render( - - ); + const { getByTestId } = renderRelatedAlertsBySameSourceEvent(); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); @@ -71,9 +75,7 @@ describe('', () => { loading: true, }); - const { getByTestId } = render( - - ); + const { getByTestId } = renderRelatedAlertsBySameSourceEvent(); expect(getByTestId(LOADING_TEST_ID)).toBeInTheDocument(); }); @@ -83,9 +85,7 @@ describe('', () => { error: true, }); - const { container } = render( - - ); + const { container } = renderRelatedAlertsBySameSourceEvent(); expect(container).toBeEmptyDOMElement(); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_same_source_event.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_same_source_event.tsx index 1d5df7a326c44..17743ed068a5e 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_same_source_event.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_same_source_event.tsx @@ -6,8 +6,8 @@ */ import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useFetchRelatedAlertsBySameSourceEvent } from '../../shared/hooks/use_fetch_related_alerts_by_same_source_event'; -import { CORRELATIONS_SAME_SOURCE_ALERTS } from '../../shared/translations'; import { InsightsSummaryRow } from './insights_summary_row'; import { INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SAME_SOURCE_EVENT_TEST_ID } from './test_ids'; @@ -35,7 +35,13 @@ export const RelatedAlertsBySameSourceEvent: React.VFC + ); return ( + render( + + + + ); + describe('', () => { it('should render many related alerts correctly', () => { (useFetchRelatedAlertsBySession as jest.Mock).mockReturnValue({ @@ -39,9 +47,7 @@ describe('', () => { dataCount: 2, }); - const { getByTestId } = render( - - ); + const { getByTestId } = renderRelatedAlertsBySession(); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); @@ -56,9 +62,7 @@ describe('', () => { dataCount: 1, }); - const { getByTestId } = render( - - ); + const { getByTestId } = renderRelatedAlertsBySession(); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); @@ -71,9 +75,7 @@ describe('', () => { loading: true, }); - const { getByTestId } = render( - - ); + const { getByTestId } = renderRelatedAlertsBySession(); expect(getByTestId(LOADING_TEST_ID)).toBeInTheDocument(); }); @@ -83,7 +85,7 @@ describe('', () => { error: true, }); - const { container } = render(); + const { container } = renderRelatedAlertsBySession(); expect(container).toBeEmptyDOMElement(); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_session.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_session.tsx index 2a015c0c880d9..982f34ec1720a 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_session.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/related_alerts_by_session.tsx @@ -6,8 +6,8 @@ */ import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useFetchRelatedAlertsBySession } from '../../shared/hooks/use_fetch_related_alerts_by_session'; -import { CORRELATIONS_SESSION_ALERTS } from '../../shared/translations'; import { InsightsSummaryRow } from './insights_summary_row'; import { INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SESSION_TEST_ID } from './test_ids'; @@ -35,7 +35,13 @@ export const RelatedAlertsBySession: React.VFC = ({ entityId, scopeId, }); - const text = CORRELATIONS_SESSION_ALERTS(dataCount); + const text = ( + + ); return ( + render( + + + + ); + describe('', () => { it('should render many related cases correctly', () => { (useFetchRelatedCases as jest.Mock).mockReturnValue({ @@ -32,7 +40,7 @@ describe('', () => { dataCount: 2, }); - const { getByTestId } = render(); + const { getByTestId } = renderRelatedCases(); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); @@ -47,7 +55,7 @@ describe('', () => { dataCount: 1, }); - const { getByTestId } = render(); + const { getByTestId } = renderRelatedCases(); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); @@ -60,7 +68,7 @@ describe('', () => { loading: true, }); - const { getByTestId } = render(); + const { getByTestId } = renderRelatedCases(); expect(getByTestId(LOADING_TEST_ID)).toBeInTheDocument(); }); @@ -70,7 +78,7 @@ describe('', () => { error: true, }); - const { container } = render(); + const { container } = renderRelatedCases(); expect(container).toBeEmptyDOMElement(); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/related_cases.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/related_cases.tsx index d20e4fc09d56b..e56e35d7acd2a 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/related_cases.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/related_cases.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; -import { CORRELATIONS_RELATED_CASES } from '../../shared/translations'; +import { FormattedMessage } from '@kbn/i18n-react'; import { useFetchRelatedCases } from '../../shared/hooks/use_fetch_related_cases'; import { InsightsSummaryRow } from './insights_summary_row'; import { INSIGHTS_CORRELATIONS_RELATED_CASES_TEST_ID } from './test_ids'; @@ -25,7 +25,13 @@ export interface RelatedCasesProps { */ export const RelatedCases: React.VFC = ({ eventId }) => { const { loading, error, dataCount } = useFetchRelatedCases({ eventId }); - const text = CORRELATIONS_RELATED_CASES(dataCount); + const text = ( + + ); return ( ', () => { - it('should render response button correctly', () => { - const { getByTestId } = render( +const renderResponseButton = (panelContextValue: RightPanelContext = mockContextValue) => + render( + - + - ); + + ); +describe('', () => { + it('should render response button correctly', () => { + const panelContextValue = { ...mockContextValue, searchHit: mockValidSearchHit }; + const { getByTestId, queryByTestId } = renderResponseButton(panelContextValue); expect(getByTestId(RESPONSE_BUTTON_TEST_ID)).toBeInTheDocument(); - }); - - it('should not render response button when searchHit is undefined', () => { - const { getByTestId } = render( - - - - - - ); - - expect(getByTestId(RESPONSE_EMPTY_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(RESPONSE_BUTTON_TEST_ID)).toHaveTextContent('Response'); + expect(queryByTestId(RESPONSE_EMPTY_TEST_ID)).not.toBeInTheDocument(); }); it(`should not render investigation guide button when searchHit doesn't have correct data`, () => { - const { getByTestId } = render( - - - - - - ); + const panelContextValue = { ...mockContextValue, searchHit: mockInvalidSearchHit }; + const { getByTestId, queryByTestId } = renderResponseButton(panelContextValue); expect(getByTestId(RESPONSE_EMPTY_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(RESPONSE_EMPTY_TEST_ID)).toHaveTextContent( + 'There are no response actions defined for this event.' + ); + expect(queryByTestId(RESPONSE_BUTTON_TEST_ID)).not.toBeInTheDocument(); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/response_button.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/response_button.tsx index b1e4e94296a46..fe6a9dd20d59a 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/response_button.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/response_button.tsx @@ -7,6 +7,7 @@ import React, { useCallback } from 'react'; import { EuiButton } from '@elastic/eui'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { FormattedMessage } from '@kbn/i18n-react'; import { expandDottedObject } from '../../../../common/utils/expand_dotted'; import type { ExpandedEventFieldsObject, @@ -15,7 +16,6 @@ import type { import { useRightPanelContext } from '../context'; import { LeftPanelKey, LeftPanelResponseTab } from '../../left'; import { RESPONSE_BUTTON_TEST_ID, RESPONSE_EMPTY_TEST_ID } from './test_ids'; -import { RESPONSE_EMPTY, RESPONSE_TITLE } from './translations'; /** * Response button that opens Response section in the left panel @@ -45,14 +45,22 @@ export const ResponseButton: React.FC = () => { return ( <> {!responseActions ? ( -
    {RESPONSE_EMPTY}
    +

    + +

    ) : ( - {RESPONSE_TITLE} + )} diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/response_section.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/response_section.test.tsx index d15ad34790ea6..ebff6c0e704fe 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/response_section.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/response_section.test.tsx @@ -6,6 +6,7 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { RESPONSE_SECTION_CONTENT_TEST_ID, RESPONSE_SECTION_HEADER_TEST_ID } from './test_ids'; import { RightPanelContext } from '../context'; @@ -15,40 +16,33 @@ import { ResponseSection } from './response_section'; const flyoutContextValue = {} as unknown as ExpandableFlyoutContext; const panelContextValue = {} as unknown as RightPanelContext; -describe('', () => { - it('should render the component collapsed', () => { - const { getByTestId } = render( +const renderResponseSection = () => + render( + - ); + + ); + +describe('', () => { + it('should render the component collapsed', () => { + const { getByTestId } = renderResponseSection(); expect(getByTestId(RESPONSE_SECTION_HEADER_TEST_ID)).toBeInTheDocument(); }); it('should render the component expanded', () => { - const { getByTestId } = render( - - - - - - ); + const { getByTestId } = renderResponseSection(); expect(getByTestId(RESPONSE_SECTION_HEADER_TEST_ID)).toBeInTheDocument(); expect(getByTestId(RESPONSE_SECTION_CONTENT_TEST_ID)).toBeInTheDocument(); }); it('should expand the component when clicking on the arrow on header', () => { - const { getByTestId } = render( - - - - - - ); + const { getByTestId } = renderResponseSection(); getByTestId(RESPONSE_SECTION_HEADER_TEST_ID).click(); expect(getByTestId(RESPONSE_SECTION_CONTENT_TEST_ID)).toBeInTheDocument(); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/response_section.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/response_section.tsx index 18480dde09dde..96a0b070020e2 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/response_section.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/response_section.tsx @@ -7,10 +7,10 @@ import type { VFC } from 'react'; import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { ResponseButton } from './response_button'; import { ExpandableSection } from './expandable_section'; import { RESPONSE_SECTION_TEST_ID } from './test_ids'; -import { RESPONSE_TITLE } from './translations'; export interface ResponseSectionProps { /** * Boolean to allow the component to be expanded or collapsed on first render @@ -25,7 +25,12 @@ export const ResponseSection: VFC = ({ expanded = false }) return ( + } data-test-subj={RESPONSE_SECTION_TEST_ID} > diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/risk_score.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/risk_score.test.tsx index 554b6c90db32a..04e399fc55281 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/risk_score.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/risk_score.test.tsx @@ -6,6 +6,7 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { RightPanelContext } from '../context'; import { @@ -15,17 +16,22 @@ import { import { RiskScore } from './risk_score'; import { mockGetFieldsData } from '../mocks/mock_context'; +const renderRiskScore = (contextValue: RightPanelContext) => + render( + + + + + + ); + describe('', () => { it('should render risk score information', () => { const contextValue = { getFieldsData: jest.fn().mockImplementation(mockGetFieldsData), } as unknown as RightPanelContext; - const { getByTestId } = render( - - - - ); + const { getByTestId } = renderRiskScore(contextValue); expect(getByTestId(FLYOUT_HEADER_RISK_SCORE_TITLE_TEST_ID)).toBeInTheDocument(); const riskScore = getByTestId(FLYOUT_HEADER_RISK_SCORE_VALUE_TEST_ID); @@ -38,11 +44,7 @@ describe('', () => { getFieldsData: jest.fn(), } as unknown as RightPanelContext; - const { container } = render( - - - - ); + const { container } = renderRiskScore(contextValue); expect(container).toBeEmptyDOMElement(); }); @@ -52,11 +54,7 @@ describe('', () => { getFieldsData: jest.fn().mockImplementation(() => 123), } as unknown as RightPanelContext; - const { container } = render( - - - - ); + const { container } = renderRiskScore(contextValue); expect(container).toBeEmptyDOMElement(); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/risk_score.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/risk_score.tsx index b14aa88f91d0e..fe15151e467cf 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/risk_score.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/risk_score.tsx @@ -9,11 +9,11 @@ import type { FC } from 'react'; import React, { memo } from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiTitle } from '@elastic/eui'; import { ALERT_RISK_SCORE } from '@kbn/rule-data-utils'; +import { FormattedMessage } from '@kbn/i18n-react'; import { FLYOUT_HEADER_RISK_SCORE_TITLE_TEST_ID, FLYOUT_HEADER_RISK_SCORE_VALUE_TEST_ID, } from './test_ids'; -import { RISK_SCORE_TITLE } from './translations'; import { useRightPanelContext } from '../context'; /** @@ -40,7 +40,12 @@ export const RiskScore: FC = memo(() => { -
    {`${RISK_SCORE_TITLE}:`}
    +
    + +
    diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/session_preview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/session_preview.tsx index 9ad7e2bd05d75..1bfca23f84ffa 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/session_preview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/session_preview.tsx @@ -6,24 +6,20 @@ */ import { EuiCode, EuiIcon, useEuiTheme } from '@elastic/eui'; +import type { ReactElement } from 'react'; import React, { useMemo, type FC } from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { SESSION_PREVIEW_TEST_ID } from './test_ids'; import { useRightPanelContext } from '../context'; import { SIGNAL_RULE_NAME_FIELD_NAME } from '../../../timelines/components/timeline/body/renderers/constants'; import { PreferenceFormattedDate } from '../../../common/components/formatted_date'; import { useProcessData } from '../hooks/use_process_data'; -import { - SESSION_PREVIEW_COMMAND_TEXT, - SESSION_PREVIEW_PROCESS_TEXT, - SESSION_PREVIEW_RULE_TEXT, - SESSION_PREVIEW_TIME_TEXT, -} from './translations'; import { RenderRuleName } from '../../../timelines/components/timeline/body/renderers/formatted_field_helpers'; /** * One-off helper to make sure that inline values are rendered consistently */ -const ValueContainer: FC<{ text?: string }> = ({ text, children }) => ( +const ValueContainer: FC<{ text?: ReactElement }> = ({ text, children }) => ( <> {text && ( <> @@ -53,7 +49,14 @@ export const SessionPreview: FC = () => { const processNameFragment = useMemo(() => { return ( processName && ( - + + } + > {processName} ) @@ -63,7 +66,14 @@ export const SessionPreview: FC = () => { const timeFragment = useMemo(() => { return ( startAt && ( - + + } + > ) @@ -74,7 +84,14 @@ export const SessionPreview: FC = () => { return ( ruleName && ruleId && ( - + + } + > { const commandFragment = useMemo(() => { return ( command && ( - + + } + > {workdir} {command} diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.test.tsx index 0568c740f1de4..c7057827fa101 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.test.tsx @@ -12,7 +12,11 @@ import { RightPanelContext } from '../context'; import { SessionPreviewContainer } from './session_preview_container'; import { useSessionPreview } from '../hooks/use_session_preview'; import { useLicense } from '../../../common/hooks/use_license'; -import { SESSION_PREVIEW_TEST_ID } from './test_ids'; +import { + SESSION_PREVIEW_NO_DATA_TEST_ID, + SESSION_PREVIEW_TEST_ID, + SESSION_PREVIEW_UPSELL_TEST_ID, +} from './test_ids'; import { EXPANDABLE_PANEL_CONTENT_TEST_ID, EXPANDABLE_PANEL_HEADER_TITLE_ICON_TEST_ID, @@ -35,10 +39,6 @@ const sessionViewConfig = { sessionStartTime: 'sessionStartTime', }; -const TEST_ID = SESSION_PREVIEW_TEST_ID; -const ERROR_TEST_ID = `${SESSION_PREVIEW_TEST_ID}Error`; -const UPSELL_TEST_ID = `${SESSION_PREVIEW_TEST_ID}UpSell`; - const renderSessionPreview = () => render( @@ -59,9 +59,9 @@ describe('SessionPreviewContainer', () => { const { getByTestId, queryByTestId } = renderSessionPreview(); - expect(getByTestId(TEST_ID)).toBeInTheDocument(); - expect(queryByTestId(ERROR_TEST_ID)).not.toBeInTheDocument(); - expect(queryByTestId(UPSELL_TEST_ID)).not.toBeInTheDocument(); + expect(getByTestId(SESSION_PREVIEW_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(SESSION_PREVIEW_NO_DATA_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(SESSION_PREVIEW_UPSELL_TEST_ID)).not.toBeInTheDocument(); expect( getByTestId(EXPANDABLE_PANEL_HEADER_TITLE_LINK_TEST_ID(SESSION_PREVIEW_TEST_ID)) ).toBeInTheDocument(); @@ -85,9 +85,12 @@ describe('SessionPreviewContainer', () => { const { getByTestId, queryByTestId } = renderSessionPreview(); - expect(queryByTestId(TEST_ID)).not.toBeInTheDocument(); - expect(getByTestId(ERROR_TEST_ID)).toBeInTheDocument(); - expect(queryByTestId(UPSELL_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(SESSION_PREVIEW_TEST_ID)).not.toBeInTheDocument(); + expect(getByTestId(SESSION_PREVIEW_NO_DATA_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(SESSION_PREVIEW_NO_DATA_TEST_ID)).toHaveTextContent( + 'You can only view Linux session details if you’ve enabled the Include session data setting in your Elastic Defend integration policy. Refer to Enable Session View dataExternal link(opens in a new tab or window) for more information.' + ); + expect(queryByTestId(SESSION_PREVIEW_UPSELL_TEST_ID)).not.toBeInTheDocument(); expect( getByTestId(EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID(SESSION_PREVIEW_TEST_ID)) ).toBeInTheDocument(); @@ -99,9 +102,12 @@ describe('SessionPreviewContainer', () => { const { getByTestId, queryByTestId } = renderSessionPreview(); - expect(queryByTestId(TEST_ID)).not.toBeInTheDocument(); - expect(queryByTestId(ERROR_TEST_ID)).not.toBeInTheDocument(); - expect(getByTestId(UPSELL_TEST_ID)).toBeInTheDocument(); + expect(queryByTestId(SESSION_PREVIEW_TEST_ID)).not.toBeInTheDocument(); + expect(queryByTestId(SESSION_PREVIEW_NO_DATA_TEST_ID)).not.toBeInTheDocument(); + expect(getByTestId(SESSION_PREVIEW_UPSELL_TEST_ID)).toBeInTheDocument(); + expect(getByTestId(SESSION_PREVIEW_UPSELL_TEST_ID)).toHaveTextContent( + 'This feature requires an Enterprise subscription' + ); expect( getByTestId(EXPANDABLE_PANEL_HEADER_TITLE_TEXT_TEST_ID(SESSION_PREVIEW_TEST_ID)) ).toBeInTheDocument(); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.tsx index 49a90921e2998..e3fe9a191ebcb 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/session_preview_container.tsx @@ -18,8 +18,11 @@ import { useInvestigateInTimeline } from '../../../detections/components/alerts_ import { useRightPanelContext } from '../context'; import { ALERTS_ACTIONS } from '../../../common/lib/apm/user_actions'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; -import { SESSION_PREVIEW_TEST_ID } from './test_ids'; -import { SESSION_PREVIEW_TITLE } from './translations'; +import { + SESSION_PREVIEW_NO_DATA_TEST_ID, + SESSION_PREVIEW_TEST_ID, + SESSION_PREVIEW_UPSELL_TEST_ID, +} from './test_ids'; import { useStartTransaction } from '../../../common/lib/apm/use_start_transaction'; import { setActiveTabTimeline } from '../../../timelines/store/timeline/actions'; import { getScopedActions } from '../../../helpers'; @@ -67,15 +70,15 @@ export const SessionPreviewContainer: FC = () => { const { euiTheme } = useEuiTheme(); const noSessionMessage = !isEnterprisePlus ? ( -
    +
    @@ -84,9 +87,9 @@ export const SessionPreviewContainer: FC = () => { />
    ) : !sessionViewConfig ? ( -
    +
    { `} > @@ -107,7 +110,7 @@ export const SessionPreviewContainer: FC = () => { target="_blank" > @@ -120,7 +123,12 @@ export const SessionPreviewContainer: FC = () => { return ( + ), iconType: 'timeline', ...(isEnabled && { callback: goToSessionViewTab }), }} diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/severity.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/severity.tsx index c5f49400f088c..390f9997e0892 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/severity.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/severity.tsx @@ -11,10 +11,10 @@ import { EuiFlexGroup, EuiFlexItem, EuiTitle } from '@elastic/eui'; import { ALERT_SEVERITY } from '@kbn/rule-data-utils'; import type { Severity } from '@kbn/securitysolution-io-ts-alerting-types'; import { CellActionsMode } from '@kbn/cell-actions'; +import { FormattedMessage } from '@kbn/i18n-react'; import { getSourcererScopeId } from '../../../helpers'; import { SecurityCellActions } from '../../../common/components/cell_actions'; import { SecurityCellActionsTrigger } from '../../../actions/constants'; -import { SEVERITY_TITLE } from './translations'; import { useRightPanelContext } from '../context'; import { SeverityBadge } from '../../../detections/components/rules/severity_badge'; import { FLYOUT_HEADER_SEVERITY_TITLE_TEST_ID } from './test_ids'; @@ -46,7 +46,12 @@ export const DocumentSeverity: FC = memo(() => { -
    {`${SEVERITY_TITLE}:`}
    +
    + +
    diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/share_button.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/share_button.test.tsx index 00b757541d587..718fd635b4bc4 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/share_button.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/share_button.test.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render, screen, fireEvent } from '@testing-library/react'; import { copyToClipboard } from '@elastic/eui'; import { ShareButton } from './share_button'; @@ -18,15 +19,22 @@ jest.mock('@elastic/eui', () => ({ EuiCopy: jest.fn(({ children: functionAsChild }) => functionAsChild(jest.fn())), })); -describe('ShareButton', () => { - const alertUrl = 'https://example.com/alert'; +const alertUrl = 'https://example.com/alert'; + +const renderShareButton = () => + render( + + + + ); +describe('ShareButton', () => { beforeEach(() => { jest.clearAllMocks(); }); it('renders the share button', () => { - render(); + renderShareButton(); expect(screen.getByTestId(FLYOUT_HEADER_SHARE_BUTTON_TEST_ID)).toBeInTheDocument(); }); @@ -41,7 +49,7 @@ describe('ShareButton', () => { }, }); - render(); + renderShareButton(); fireEvent.click(screen.getByTestId(FLYOUT_HEADER_SHARE_BUTTON_TEST_ID)); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/share_button.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/share_button.tsx index 04405e9b7a31a..034ebd0aa102a 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/share_button.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/share_button.tsx @@ -8,9 +8,9 @@ import { copyToClipboard, EuiButtonEmpty, EuiCopy } from '@elastic/eui'; import type { FC } from 'react'; import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { FLYOUT_URL_PARAM } from '../../shared/hooks/url/use_sync_flyout_state_with_url'; import { FLYOUT_HEADER_SHARE_BUTTON_TEST_ID } from './test_ids'; -import { SHARE } from './translations'; interface ShareButtonProps { /** @@ -41,7 +41,10 @@ export const ShareButton: FC = ({ alertUrl }) => { iconType="share" data-test-subj={FLYOUT_HEADER_SHARE_BUTTON_TEST_ID} > - {SHARE} + )} diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.test.tsx index 585e8f02ace03..54ae69fba7c40 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.test.tsx @@ -6,49 +6,63 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { SUMMARY_ROW_ICON_TEST_ID, SUMMARY_ROW_VALUE_TEST_ID, INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID, - SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID, + INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID, } from './test_ids'; import { SuppressedAlerts } from './suppressed_alerts'; const ICON_TEST_ID = SUMMARY_ROW_ICON_TEST_ID(INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID); const VALUE_TEST_ID = SUMMARY_ROW_VALUE_TEST_ID(INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID); +const renderSuppressedAlerts = (alertSuppressionCount: number) => + render( + + + + ); + describe('', () => { it('should render zero suppressed alert correctly', () => { - const { getByTestId } = render(); + const { getByTestId } = renderSuppressedAlerts(0); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); expect(value).toHaveTextContent('0 suppressed alert'); expect(getByTestId(VALUE_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID)).toBeInTheDocument(); + expect( + getByTestId(INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID) + ).toBeInTheDocument(); }); it('should render single suppressed alert correctly', () => { - const { getByTestId } = render(); + const { getByTestId } = renderSuppressedAlerts(1); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); expect(value).toHaveTextContent('1 suppressed alert'); expect(getByTestId(VALUE_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID)).toBeInTheDocument(); + expect( + getByTestId(INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID) + ).toBeInTheDocument(); }); it('should render multiple suppressed alerts row correctly', () => { - const { getByTestId } = render(); + const { getByTestId } = renderSuppressedAlerts(2); expect(getByTestId(ICON_TEST_ID)).toBeInTheDocument(); const value = getByTestId(VALUE_TEST_ID); expect(value).toBeInTheDocument(); expect(value).toHaveTextContent('2 suppressed alerts'); expect(getByTestId(VALUE_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID)).toBeInTheDocument(); + expect( + getByTestId(INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID) + ).toBeInTheDocument(); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.tsx index 4732d43cadff9..9d02fdf859805 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/suppressed_alerts.tsx @@ -7,14 +7,13 @@ import React from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiBetaBadge } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID, - SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID, + INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID, } from './test_ids'; -import { CORRELATIONS_SUPPRESSED_ALERTS } from '../../shared/translations'; import { InsightsSummaryRow } from './insights_summary_row'; import { SUPPRESSED_ALERTS_COUNT_TECHNICAL_PREVIEW } from '../../../common/components/event_details/insights/translations'; -import { TECHNICAL_PREVIEW_MESSAGE } from './translations'; export interface SuppressedAlertsProps { /** @@ -35,7 +34,13 @@ export const SuppressedAlerts: React.VFC = ({ alertSuppre error={false} icon={'layers'} value={alertSuppressionCount} - text={CORRELATIONS_SUPPRESSED_ALERTS(alertSuppressionCount)} + text={ + + } data-test-subj={INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID} key={`correlation-row-suppressed-alerts`} /> @@ -45,9 +50,14 @@ export const SuppressedAlerts: React.VFC = ({ alertSuppre label={SUPPRESSED_ALERTS_COUNT_TECHNICAL_PREVIEW} size="s" iconType="beaker" - tooltipContent={TECHNICAL_PREVIEW_MESSAGE} + tooltipContent={ + + } tooltipPosition="bottom" - data-test-subj={SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID} + data-test-subj={INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID} />
    diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/test_ids.ts b/x-pack/plugins/security_solution/public/flyout/right/components/test_ids.ts index 6f0ee15d7db01..8145b8e5fb258 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/test_ids.ts +++ b/x-pack/plugins/security_solution/public/flyout/right/components/test_ids.ts @@ -109,23 +109,19 @@ export const INSIGHTS_THREAT_INTELLIGENCE_CONTAINER_TEST_ID = `${INSIGHTS_THREAT export const INSIGHTS_CORRELATIONS_TEST_ID = 'securitySolutionDocumentDetailsFlyoutInsightsCorrelations'; -export const INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID = - 'securitySolutionDocumentDetailsFlyoutInsightsCorrelationsSupressedAlerts'; -export const SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID = - 'securitySolutionDocumentDetailsFlyoutSupressedAlertsTechnicalPreview'; -export const INSIGHTS_CORRELATIONS_RELATED_CASES_TEST_ID = - 'securitySolutionDocumentDetailsFlyoutInsightsCorrelationsRelatedCases'; -export const INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SESSION_TEST_ID = - 'securitySolutionDocumentDetailsFlyoutInsightsCorrelationsRelatedAlertsBySession'; -export const INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SAME_SOURCE_EVENT_TEST_ID = - 'securitySolutionDocumentDetailsFlyoutInsightsCorrelationsRelatedAlertsBySameSourceEvent'; -export const INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_ANCESTRY_TEST_ID = - 'securitySolutionDocumentDetailsFlyoutInsightsCorrelationsRelatedAlertsByAncestry'; +export const INSIGHTS_CORRELATIONS_NO_DATA_TEST_ID = `${INSIGHTS_CORRELATIONS_TEST_ID}NoData`; +export const INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID = `${INSIGHTS_CORRELATIONS_TEST_ID}SuppressedAlerts`; +export const INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TECHNICAL_PREVIEW_TEST_ID = `${INSIGHTS_CORRELATIONS_SUPPRESSED_ALERTS_TEST_ID}TechnicalPreview`; +export const INSIGHTS_CORRELATIONS_RELATED_CASES_TEST_ID = `${INSIGHTS_CORRELATIONS_TEST_ID}RelatedCases`; +export const INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SESSION_TEST_ID = `${INSIGHTS_CORRELATIONS_TEST_ID}RelatedAlertsBySession`; +export const INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_SAME_SOURCE_EVENT_TEST_ID = `${INSIGHTS_CORRELATIONS_TEST_ID}RelatedAlertsBySameSourceEvent`; +export const INSIGHTS_CORRELATIONS_RELATED_ALERTS_BY_ANCESTRY_TEST_ID = `${INSIGHTS_CORRELATIONS_TEST_ID}RelatedAlertsByAncestry`; /* Insights Prevalence */ export const INSIGHTS_PREVALENCE_TEST_ID = 'securitySolutionDocumentDetailsFlyoutInsightsPrevalence'; +export const INSIGHTS_PREVALENCE_NO_DATA_TEST_ID = `${INSIGHTS_PREVALENCE_TEST_ID}NoData`; /* Visualizations section */ @@ -133,7 +129,10 @@ export const VISUALIZATIONS_SECTION_TEST_ID = 'securitySolutionDocumentDetailsVi export const VISUALIZATIONS_SECTION_HEADER_TEST_ID = 'securitySolutionDocumentDetailsVisualizationsTitleHeader'; export const ANALYZER_PREVIEW_TEST_ID = 'securitySolutionDocumentDetailsAnalyzerPreview'; +export const ANALYZER_PREVIEW_NO_DATA_TEST_ID = `${ANALYZER_PREVIEW_TEST_ID}NoData`; export const SESSION_PREVIEW_TEST_ID = 'securitySolutionDocumentDetailsSessionPreview'; +export const SESSION_PREVIEW_UPSELL_TEST_ID = `${SESSION_PREVIEW_TEST_ID}UpSell`; +export const SESSION_PREVIEW_NO_DATA_TEST_ID = `${SESSION_PREVIEW_TEST_ID}NoData`; /* Response section */ diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.test.tsx index 4d3d3334862ba..a111e5469e614 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.test.tsx @@ -103,7 +103,7 @@ describe('', () => { ); }); - it('should render 0 field enriched', () => { + it('should render 0 fields enriched', () => { (useFetchThreatIntelligence as jest.Mock).mockReturnValue({ loading: false, threatMatchesCount: 1, @@ -113,11 +113,11 @@ describe('', () => { const { getByTestId } = render(renderThreatIntelligenceOverview(panelContextValue)); expect(getByTestId(CONTENT_TEST_ID)).toHaveTextContent( - '0 field enriched with threat intelligence' + '0 fields enriched with threat intelligence' ); }); - it('should render 0 match detected', () => { + it('should render 0 matches detected', () => { (useFetchThreatIntelligence as jest.Mock).mockReturnValue({ loading: false, threatMatchesCount: 0, @@ -126,7 +126,7 @@ describe('', () => { const { getByTestId } = render(renderThreatIntelligenceOverview(panelContextValue)); - expect(getByTestId(CONTENT_TEST_ID)).toHaveTextContent('0 threat match detected'); + expect(getByTestId(CONTENT_TEST_ID)).toHaveTextContent('0 threat matches detected'); }); it('should render loading', () => { diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.tsx index 42253e61effe2..0175d44e4f4bd 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/threat_intelligence_overview.tsx @@ -9,18 +9,12 @@ import type { FC } from 'react'; import React, { useCallback } from 'react'; import { EuiFlexGroup } from '@elastic/eui'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { FormattedMessage } from '@kbn/i18n-react'; import { ExpandablePanel } from '../../shared/components/expandable_panel'; import { useFetchThreatIntelligence } from '../hooks/use_fetch_threat_intelligence'; import { InsightsSummaryRow } from './insights_summary_row'; import { useRightPanelContext } from '../context'; import { INSIGHTS_THREAT_INTELLIGENCE_TEST_ID } from './test_ids'; -import { - THREAT_INTELLIGENCE_TITLE, - THREAT_MATCH_DETECTED, - THREAT_ENRICHMENT, - THREAT_MATCHES_DETECTED, - THREAT_ENRICHMENTS, -} from './translations'; import { LeftPanelKey, LeftPanelInsightsTab } from '../../left'; import { THREAT_INTELLIGENCE_TAB_ID } from '../../left/components/threat_intelligence_details'; @@ -55,7 +49,12 @@ export const ThreatIntelligenceOverview: FC = () => { return ( + ), callback: goToThreatIntelligenceTab, iconType: 'arrowStart', }} @@ -70,14 +69,26 @@ export const ThreatIntelligenceOverview: FC = () => { loading={loading} icon={'warning'} value={threatMatchesCount} - text={threatMatchesCount <= 1 ? THREAT_MATCH_DETECTED : THREAT_MATCHES_DETECTED} + text={ + + } data-test-subj={INSIGHTS_THREAT_INTELLIGENCE_TEST_ID} /> + } data-test-subj={INSIGHTS_THREAT_INTELLIGENCE_TEST_ID} /> diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts b/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts deleted file mode 100644 index ea83a8f3a1a23..0000000000000 --- a/x-pack/plugins/security_solution/public/flyout/right/components/translations.ts +++ /dev/null @@ -1,301 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; - -/* Header */ - -export const EXPAND_DETAILS_BUTTON = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.expandDetailButton', - { defaultMessage: 'Expand details' } -); - -export const COLLAPSE_DETAILS_BUTTON = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.collapseDetailButton', - { defaultMessage: 'Collapse details' } -); - -export const EVENT_DETAILS = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.headerTitle', - { defaultMessage: 'Event details' } -); - -export const SEVERITY_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.severityTitle', - { - defaultMessage: 'Severity', - } -); - -export const RISK_SCORE_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.riskScoreTitle', - { - defaultMessage: 'Risk score', - } -); - -export const RULE_SUMMARY_TEXT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.ruleSummaryText', - { - defaultMessage: 'Show rule summary', - } -); - -export const ALERT_REASON_DETAILS_TEXT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.alertReasonDetailsText', - { - defaultMessage: 'Show full reason', - } -); - -/* About section */ - -export const ABOUT_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.aboutTitle', - { - defaultMessage: 'About', - } -); - -export const RULE_DESCRIPTION_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.ruleDescriptionTitle', - { - defaultMessage: 'Rule description', - } -); - -export const PREVIEW_RULE_DETAILS = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.previewRuleDetailsText', - { defaultMessage: 'Preview rule details' } -); - -export const PREVIEW_ALERT_REASON_DETAILS = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.previewAlertReasonDetailsText', - { defaultMessage: 'Preview alert reason' } -); - -export const DOCUMENT_DESCRIPTION_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.documentDescriptionTitle', - { - defaultMessage: 'Document description', - } -); - -export const ALERT_REASON_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.alertReasonTitle', - { - defaultMessage: 'Alert reason', - } -); - -export const DOCUMENT_REASON_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.documentReasonTitle', - { - defaultMessage: 'Document reason', - } -); - -/* Investigation section */ - -export const INVESTIGATION_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.investigationSectionTitle', - { - defaultMessage: 'Investigation', - } -); - -export const HIGHLIGHTED_FIELDS_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.highlightedFieldsTitle', - { defaultMessage: 'Highlighted fields' } -); - -export const HIGHLIGHTED_FIELDS_FIELD_COLUMN = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.highlightedFields.fieldColumn', - { defaultMessage: 'Field' } -); - -export const HIGHLIGHTED_FIELDS_VALUE_COLUMN = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.highlightedFields.valueColumn', - { defaultMessage: 'Value' } -); - -/* Insights section */ - -export const ENTITIES_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.entitiesTitle', - { defaultMessage: 'Entities' } -); - -export const ENTITIES_NO_DATA_MESSAGE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.entitiesNoDataMessage', - { - defaultMessage: 'Host and user information are unavailable for this alert', - } -); - -export const THREAT_INTELLIGENCE_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.threatIntelligenceTitle', - { defaultMessage: 'Threat intelligence' } -); - -export const INSIGHTS_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.insightsTitle', - { defaultMessage: 'Insights' } -); - -export const CORRELATIONS_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.correlationsTitle', - { defaultMessage: 'Correlations' } -); - -export const CORRELATIONS_ERROR = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.correlations.error', - { - defaultMessage: 'No correlations data available', - } -); - -export const PREVALENCE_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.prevalenceTitle', - { defaultMessage: 'Prevalence' } -); - -export const PREVALENCE_NO_DATA = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.prevalenceNoData', - { - defaultMessage: 'No prevalence data available.', - } -); - -export const THREAT_MATCH_DETECTED = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatch', - { - defaultMessage: `threat match detected`, - } -); - -export const THREAT_MATCHES_DETECTED = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatches', - { - defaultMessage: `threat matches detected`, - } -); - -export const THREAT_ENRICHMENT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichment', - { - defaultMessage: `field enriched with threat intelligence`, - } -); - -export const THREAT_ENRICHMENTS = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichments', - { - defaultMessage: `fields enriched with threat intelligence`, - } -); - -export const PREVALENCE_ROW_UNCOMMON = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.overviewTab.prevalenceRowText', - { - defaultMessage: 'is uncommon', - } -); - -export const VISUALIZATIONS_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.visualizationsTitle', - { defaultMessage: 'Visualizations' } -); - -export const ANALYZER_PREVIEW_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.analyzerPreviewTitle', - { defaultMessage: 'Analyzer preview' } -); - -export const SHARE = i18n.translate('xpack.securitySolution.flyout.documentDetails.share', { - defaultMessage: 'Share Alert', -}); - -export const INVESTIGATION_GUIDE_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.investigationGuideTitle', - { - defaultMessage: 'Investigation guide', - } -); - -export const INVESTIGATION_GUIDE_BUTTON = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.investigationGuideButton', - { - defaultMessage: 'Show investigation guide', - } -); - -export const INVESTIGATION_GUIDE_NO_DATA = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.investigationGuideNoData', - { - defaultMessage: 'There’s no investigation guide for this rule.', - } -); - -export const SESSION_PREVIEW_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.sessionPreview.title', - { - defaultMessage: 'Session viewer preview', - } -); - -export const SESSION_PREVIEW_PROCESS_TEXT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.sessionPreview.processText', - { - defaultMessage: 'started', - } -); - -export const SESSION_PREVIEW_TIME_TEXT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.sessionPreview.timeText', - { - defaultMessage: 'at', - } -); - -export const SESSION_PREVIEW_RULE_TEXT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.sessionPreview.ruleText', - { - defaultMessage: 'with rule', - } -); - -export const SESSION_PREVIEW_COMMAND_TEXT = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.sessionPreview.commandText', - { - defaultMessage: 'by', - } -); - -export const RESPONSE_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.responseSectionTitle', - { - defaultMessage: 'Response', - } -); - -export const RESPONSE_EMPTY = i18n.translate('xpack.securitySolution.flyout.response.empty', { - defaultMessage: 'There are no response actions defined for this event.', -}); - -export const TECHNICAL_PREVIEW_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.technicalPreviewTitle', - { defaultMessage: 'Technical preview' } -); - -export const TECHNICAL_PREVIEW_MESSAGE = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.technicalPreviewMessage', - { - defaultMessage: - 'This functionality is in technical preview and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.', - } -); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/user_entity_overview.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/user_entity_overview.tsx index 998f6f71b02a7..941a5c299ffbe 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/user_entity_overview.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/user_entity_overview.tsx @@ -18,6 +18,7 @@ import { import { css } from '@emotion/css'; import { getOr } from 'lodash/fp'; import { useExpandableFlyoutContext } from '@kbn/expandable-flyout'; +import { FormattedMessage } from '@kbn/i18n-react'; import { LeftPanelInsightsTab, LeftPanelKey } from '../../left'; import { ENTITIES_TAB_ID } from '../../left/components/entities_details'; import { useRightPanelContext } from '../context'; @@ -44,7 +45,6 @@ import { ENTITIES_USER_OVERVIEW_LINK_TEST_ID, TECHNICAL_PREVIEW_ICON_TEST_ID, } from './test_ids'; -import { TECHNICAL_PREVIEW_TITLE, TECHNICAL_PREVIEW_MESSAGE } from './translations'; import { useObservedUserDetails } from '../../../explore/users/containers/users/observed_details'; const USER_ICON = 'user'; @@ -149,10 +149,20 @@ export const UserEntityOverview: React.FC = ({ userName <> {i18n.USER_RISK_CLASSIFICATION} + } size="m" type="iInCircle" - content={TECHNICAL_PREVIEW_MESSAGE} + content={ + + } position="bottom" iconProps={{ className: 'eui-alignTop', diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/visualizations_section.test.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/visualizations_section.test.tsx index a427cdf04bce9..2d66833843331 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/visualizations_section.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/visualizations_section.test.tsx @@ -6,6 +6,7 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { VISUALIZATIONS_SECTION_HEADER_TEST_ID } from './test_ids'; import { TestProviders } from '../../../common/mock'; @@ -42,11 +43,13 @@ describe('', () => { } as unknown as ExpandableFlyoutContext; const { getByTestId, getAllByRole } = render( - - - - - + + + + + + + ); expect(getByTestId(VISUALIZATIONS_SECTION_HEADER_TEST_ID)).toBeInTheDocument(); diff --git a/x-pack/plugins/security_solution/public/flyout/right/components/visualizations_section.tsx b/x-pack/plugins/security_solution/public/flyout/right/components/visualizations_section.tsx index b2cc0d2969c7e..4b53911bea590 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/components/visualizations_section.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/components/visualizations_section.tsx @@ -7,11 +7,11 @@ import React from 'react'; import { EuiSpacer } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; import { AnalyzerPreviewContainer } from './analyzer_preview_container'; import { SessionPreviewContainer } from './session_preview_container'; import { ExpandableSection } from './expandable_section'; import { VISUALIZATIONS_SECTION_TEST_ID } from './test_ids'; -import { VISUALIZATIONS_TITLE } from './translations'; export interface VisualizationsSectionProps { /** @@ -29,7 +29,12 @@ export const VisualizationsSection: React.FC = ({ return ( + } data-test-subj={VISUALIZATIONS_SECTION_TEST_ID} > diff --git a/x-pack/plugins/security_solution/public/flyout/right/tabs.tsx b/x-pack/plugins/security_solution/public/flyout/right/tabs.tsx index 89802787283fe..1cdc25f36c01b 100644 --- a/x-pack/plugins/security_solution/public/flyout/right/tabs.tsx +++ b/x-pack/plugins/security_solution/public/flyout/right/tabs.tsx @@ -5,17 +5,18 @@ * 2.0. */ +import type { ReactElement } from 'react'; import React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; import { JSON_TAB_TEST_ID, OVERVIEW_TAB_TEST_ID, TABLE_TAB_TEST_ID } from './test_ids'; import type { RightPanelPaths } from '.'; import { JsonTab } from './tabs/json_tab'; import { OverviewTab } from './tabs/overview_tab'; import { TableTab } from './tabs/table_tab'; -import { JSON_TAB, OVERVIEW_TAB, TABLE_TAB } from './translations'; export type RightPanelTabsType = Array<{ id: RightPanelPaths; - name: string; + name: ReactElement; content: React.ReactElement; 'data-test-subj': string; }>; @@ -27,19 +28,34 @@ export const tabs: RightPanelTabsType = [ { id: 'overview', 'data-test-subj': OVERVIEW_TAB_TEST_ID, - name: OVERVIEW_TAB, + name: ( + + ), content: , }, { id: 'table', 'data-test-subj': TABLE_TAB_TEST_ID, - name: TABLE_TAB, + name: ( + + ), content: , }, { id: 'json', 'data-test-subj': JSON_TAB_TEST_ID, - name: JSON_TAB, + name: ( + + ), content: , }, ]; diff --git a/x-pack/plugins/security_solution/public/flyout/right/tabs/translations.ts b/x-pack/plugins/security_solution/public/flyout/right/tabs/translations.ts deleted file mode 100644 index 741a12676a094..0000000000000 --- a/x-pack/plugins/security_solution/public/flyout/right/tabs/translations.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; - -export const DOCUMENT_ERROR_TITLE = i18n.translate( - 'xpack.securitySolution.flyout.documentErrorTitle', - { - defaultMessage: 'document information', - } -); - -export const DOCUMENT_ERROR_DETAILS = i18n.translate( - 'xpack.securitySolution.flyout.documentErrorMessage', - { - defaultMessage: 'the document fields and values', - } -); diff --git a/x-pack/plugins/security_solution/public/flyout/right/translations.ts b/x-pack/plugins/security_solution/public/flyout/right/translations.ts deleted file mode 100644 index fe4b31c2aef64..0000000000000 --- a/x-pack/plugins/security_solution/public/flyout/right/translations.ts +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; - -export const OVERVIEW_TAB = i18n.translate( - 'xpack.securitySolution.flyout.documentDetails.overviewTab', - { defaultMessage: 'Overview' } -); - -export const TABLE_TAB = i18n.translate('xpack.securitySolution.flyout.documentDetails.tableTab', { - defaultMessage: 'Table', -}); - -export const JSON_TAB = i18n.translate('xpack.securitySolution.flyout.documentDetails.jsonTab', { - defaultMessage: 'JSON', -}); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/components/flyout_error.test.tsx b/x-pack/plugins/security_solution/public/flyout/shared/components/flyout_error.test.tsx index e3db86494b481..f0565fe1df43f 100644 --- a/x-pack/plugins/security_solution/public/flyout/shared/components/flyout_error.test.tsx +++ b/x-pack/plugins/security_solution/public/flyout/shared/components/flyout_error.test.tsx @@ -6,16 +6,22 @@ */ import React from 'react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { render } from '@testing-library/react'; import { FlyoutError } from './flyout_error'; -import { ERROR_MESSAGE, ERROR_TITLE, FLYOUT_ERROR } from '../translations'; import { FLYOUT_ERROR_TEST_ID } from '../test_ids'; describe('', () => { it('should render error title and body', () => { - const { getByTestId } = render(); + const { getByTestId } = render( + + + + ); expect(getByTestId(FLYOUT_ERROR_TEST_ID)).toBeInTheDocument(); - expect(getByTestId(FLYOUT_ERROR_TEST_ID)).toHaveTextContent(ERROR_TITLE(FLYOUT_ERROR)); - expect(getByTestId(FLYOUT_ERROR_TEST_ID)).toHaveTextContent(ERROR_MESSAGE(FLYOUT_ERROR)); + expect(getByTestId(FLYOUT_ERROR_TEST_ID)).toHaveTextContent('Unable to display data'); + expect(getByTestId(FLYOUT_ERROR_TEST_ID)).toHaveTextContent( + 'There was an error displaying data.' + ); }); }); diff --git a/x-pack/plugins/security_solution/public/flyout/shared/components/flyout_error.tsx b/x-pack/plugins/security_solution/public/flyout/shared/components/flyout_error.tsx index 700ba9850b75d..bda4e581e164b 100644 --- a/x-pack/plugins/security_solution/public/flyout/shared/components/flyout_error.tsx +++ b/x-pack/plugins/security_solution/public/flyout/shared/components/flyout_error.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { EuiEmptyPrompt, EuiFlexItem } from '@elastic/eui'; -import { ERROR_MESSAGE, ERROR_TITLE, FLYOUT_ERROR } from '../translations'; +import { FormattedMessage } from '@kbn/i18n-react'; import { FLYOUT_ERROR_TEST_ID } from '../test_ids'; /** @@ -18,8 +18,24 @@ export const FlyoutError: React.VFC = () => ( {ERROR_TITLE(FLYOUT_ERROR)}} - body={

    {ERROR_MESSAGE(FLYOUT_ERROR)}

    } + title={ +

    + +

    + } + body={ +

    + +

    + } data-test-subj={FLYOUT_ERROR_TEST_ID} /> diff --git a/x-pack/plugins/security_solution/public/flyout/shared/translations.ts b/x-pack/plugins/security_solution/public/flyout/shared/translations.ts deleted file mode 100644 index 5ecf772c5c0c0..0000000000000 --- a/x-pack/plugins/security_solution/public/flyout/shared/translations.ts +++ /dev/null @@ -1,54 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { i18n } from '@kbn/i18n'; - -export const FLYOUT_ERROR = i18n.translate('xpack.securitySolution.flyout.documentDetails.error', { - defaultMessage: 'data', -}); - -export const ERROR_TITLE = (title: string) => - i18n.translate('xpack.securitySolution.flyout.errorTitle', { - values: { title }, - defaultMessage: 'Unable to display {title}', - }); - -export const ERROR_MESSAGE = (message: string) => - i18n.translate('xpack.securitySolution.flyout.errorMessage', { - values: { message }, - defaultMessage: 'There was an error displaying {message}', - }); - -export const CORRELATIONS_SUPPRESSED_ALERTS = (count: number) => - i18n.translate('xpack.securitySolution.flyout.documentDetails.correlations.suppressedAlerts', { - defaultMessage: 'suppressed {count, plural, =1 {alert} other {alerts}}', - values: { count }, - }); - -export const CORRELATIONS_ANCESTRY_ALERTS = (count: number) => - i18n.translate('xpack.securitySolution.flyout.documentDetails.correlations.ancestryAlerts', { - defaultMessage: '{count, plural, one {alert} other {alerts}} related by ancestry', - values: { count }, - }); - -export const CORRELATIONS_SAME_SOURCE_ALERTS = (count: number) => - i18n.translate('xpack.securitySolution.flyout.documentDetails.correlations.sourceAlerts', { - defaultMessage: '{count, plural, one {alert} other {alerts}} related by source event', - values: { count }, - }); - -export const CORRELATIONS_SESSION_ALERTS = (count: number) => - i18n.translate('xpack.securitySolution.flyout.documentDetails.correlations.sessionAlerts', { - defaultMessage: '{count, plural, one {alert} other {alerts}} related by session', - values: { count }, - }); - -export const CORRELATIONS_RELATED_CASES = (count: number) => - i18n.translate('xpack.securitySolution.flyout.documentDetails.correlations.relatedCases', { - defaultMessage: 'related {count, plural, one {case} other {cases}}', - values: { count }, - }); diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 4f369e7e36f82..49fa6be17eb96 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -29867,8 +29867,6 @@ "xpack.securitySolution.exceptions.viewer.lastUpdated": "Mis à jour {updated}", "xpack.securitySolution.exceptions.viewer.paginationDetails": "Affichage de {partOne} sur {partTwo}", "xpack.securitySolution.fieldBrowser.descriptionForScreenReaderOnly": "Description pour le champ {field} :", - "xpack.securitySolution.flyout.errorMessage": "Une erreur est survenue lors de l'affichage de {message}", - "xpack.securitySolution.flyout.errorTitle": "Impossible d'afficher {title}", "xpack.securitySolution.footer.autoRefreshActiveTooltip": "Lorsque le rafraîchissement automatique est activé, la chronologie vous montre les {numberOfItems} derniers événements qui correspondent à votre requête.", "xpack.securitySolution.formattedNumber.countsLabel": "{mantissa}{scale}{hasRemainder}", "xpack.securitySolution.header.editableTitle.editButtonAria": "Vous pouvez modifier {title} en cliquant", @@ -33085,70 +33083,9 @@ "xpack.securitySolution.fleetIntegration.assets.name": "Hôtes", "xpack.securitySolution.fleetIntegration.elasticDefend.eventFilter.nonInteractiveSessions.description": "Filtre d'événement pour Cloud Security. Créé par l'intégration Elastic Defend.", "xpack.securitySolution.fleetIntegration.elasticDefend.eventFilter.nonInteractiveSessions.name": "Sessions non interactives", - "xpack.securitySolution.flyout.analyzerErrorMessage": "analyseur", "xpack.securitySolution.flyout.button.timeline": "chronologie", - "xpack.securitySolution.flyout.correlations.caseNameColumnTitle": "Nom", - "xpack.securitySolution.flyout.correlations.reasonColumnTitle": "Raison", - "xpack.securitySolution.flyout.correlations.ruleColumnTitle": "Règle", - "xpack.securitySolution.flyout.correlations.severityColumnTitle": "Sévérité", - "xpack.securitySolution.flyout.correlations.statusColumnTitle": "Statut", - "xpack.securitySolution.flyout.correlations.timestampColumnTitle": "Horodatage", - "xpack.securitySolution.flyout.documentDetails.alertReasonTitle": "Raison d'alerte", - "xpack.securitySolution.flyout.documentDetails.analyzerGraphButton": "Graph Analyseur", - "xpack.securitySolution.flyout.documentDetails.analyzerPreviewTitle": "Aperçu de l'analyseur", - "xpack.securitySolution.flyout.documentDetails.collapseDetailButton": "Réduire les détails de l'alerte", - "xpack.securitySolution.flyout.documentDetails.correlationsButton": "Corrélations", - "xpack.securitySolution.flyout.documentDetails.correlationsTitle": "Corrélations", - "xpack.securitySolution.flyout.documentDetails.documentDescriptionTitle": "Description du document", - "xpack.securitySolution.flyout.documentDetails.documentReasonTitle": "Motif du document", - "xpack.securitySolution.flyout.documentDetails.entitiesButton": "Entités", - "xpack.securitySolution.flyout.documentDetails.entitiesTitle": "Entités", - "xpack.securitySolution.flyout.documentDetails.expandDetailButton": "Développer les détails de l'alerte", - "xpack.securitySolution.flyout.documentDetails.highlightedFieldsTitle": "Champs en surbrillance", - "xpack.securitySolution.flyout.documentDetails.insightsOptions": "Options des informations exploitables", - "xpack.securitySolution.flyout.documentDetails.insightsTab": "Informations exploitables", - "xpack.securitySolution.flyout.documentDetails.insightsTitle": "Informations exploitables", - "xpack.securitySolution.flyout.documentDetails.investigationSectionTitle": "Investigation", - "xpack.securitySolution.flyout.documentDetails.investigationsTab": "Investigation", - "xpack.securitySolution.flyout.documentDetails.jsonTab": "JSON", - "xpack.securitySolution.flyout.documentDetails.overviewTab": "Aperçu", - "xpack.securitySolution.flyout.documentDetails.overviewTab.prevalenceRowText": "est inhabituel", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichment": "champ enrichi avec la Threat Intelligence", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichments": "champs enrichis avec la Threat Intelligence", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatch": "correspondance de menace détectée", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatches": "correspondances de menaces détectées", - "xpack.securitySolution.flyout.documentDetails.prevalenceButton": "Prévalence", - "xpack.securitySolution.flyout.documentDetails.prevalenceTitle": "Prévalence", - "xpack.securitySolution.flyout.documentDetails.riskScoreTitle": "Score de risque", - "xpack.securitySolution.flyout.documentDetails.ruleDescriptionTitle": "Description de la règle", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.commandText": "par", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.processText": "démarré", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.ruleText": "avec la règle", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.timeText": "à", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.title": "Aperçu du visualiseur de session", - "xpack.securitySolution.flyout.documentDetails.sessionViewButton": "Vue de session", - "xpack.securitySolution.flyout.documentDetails.severityTitle": "Sévérité", - "xpack.securitySolution.flyout.documentDetails.share": "Partager l'alerte", - "xpack.securitySolution.flyout.documentDetails.tableTab": "Tableau", - "xpack.securitySolution.flyout.documentDetails.threatIntelligenceButton": "Threat Intelligence", - "xpack.securitySolution.flyout.documentDetails.threatIntelligenceTitle": "Threat Intelligence", - "xpack.securitySolution.flyout.documentDetails.visualizationsTitle": "Visualisations", - "xpack.securitySolution.flyout.documentDetails.visualizeOptions": "Options Visualize", - "xpack.securitySolution.flyout.documentDetails.visualizeTab": "Visualiser", - "xpack.securitySolution.flyout.documentErrorMessage": "les valeurs et champs du document", - "xpack.securitySolution.flyout.documentErrorTitle": "informations du document", "xpack.securitySolution.flyout.entities.failRelatedHostsDescription": "Impossible de lancer la recherche sur les hôtes associés", "xpack.securitySolution.flyout.entities.failRelatedUsersDescription": "Impossible de lancer la recherche sur les utilisateurs associés", - "xpack.securitySolution.flyout.entities.hostsInfoTitle": "Informations sur l’hôte", - "xpack.securitySolution.flyout.entities.relatedEntitiesIpColumn": "Adresses IP", - "xpack.securitySolution.flyout.entities.relatedEntitiesNameColumn": "Nom", - "xpack.securitySolution.flyout.entities.relatedHostsTitle": "Hôtes associés", - "xpack.securitySolution.flyout.entities.relatedUsersTitle": "Utilisateurs associés", - "xpack.securitySolution.flyout.entities.usersInfoTitle": "Informations sur l’utilisateur", - "xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle": "Nombre d'alertes", - "xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle": "Compte du document", - "xpack.securitySolution.flyout.response.title": "Réponses", - "xpack.securitySolution.flyout.sessionViewErrorMessage": "vue de session", "xpack.securitySolution.footer.autoRefreshActiveDescription": "Actualisation automatique active", "xpack.securitySolution.footer.cancel": "Annuler", "xpack.securitySolution.footer.data": "données", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index b38dac7918bc6..00df50d572e22 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -29866,8 +29866,6 @@ "xpack.securitySolution.exceptions.viewer.lastUpdated": "{updated}を更新しました", "xpack.securitySolution.exceptions.viewer.paginationDetails": "{partOne}/{partTwo}ページを表示中", "xpack.securitySolution.fieldBrowser.descriptionForScreenReaderOnly": "フィールド{field}の説明:", - "xpack.securitySolution.flyout.errorMessage": "{message}の表示中にエラーが発生しました", - "xpack.securitySolution.flyout.errorTitle": "{title}を表示できません", "xpack.securitySolution.footer.autoRefreshActiveTooltip": "自動更新が有効な間、タイムラインはクエリに一致する直近{numberOfItems}件のイベントを表示します。", "xpack.securitySolution.formattedNumber.countsLabel": "{mantissa}{scale}{hasRemainder}", "xpack.securitySolution.header.editableTitle.editButtonAria": "クリックすると{title}を編集できます", @@ -33084,70 +33082,9 @@ "xpack.securitySolution.fleetIntegration.assets.name": "ホスト", "xpack.securitySolution.fleetIntegration.elasticDefend.eventFilter.nonInteractiveSessions.description": "クラウドセキュリティのイベントフィルター。Elastic Defend統合によって作成。", "xpack.securitySolution.fleetIntegration.elasticDefend.eventFilter.nonInteractiveSessions.name": "非インタラクティブセッション", - "xpack.securitySolution.flyout.analyzerErrorMessage": "アナライザー", "xpack.securitySolution.flyout.button.timeline": "タイムライン", - "xpack.securitySolution.flyout.correlations.caseNameColumnTitle": "名前", - "xpack.securitySolution.flyout.correlations.reasonColumnTitle": "理由", - "xpack.securitySolution.flyout.correlations.ruleColumnTitle": "ルール", - "xpack.securitySolution.flyout.correlations.severityColumnTitle": "深刻度", - "xpack.securitySolution.flyout.correlations.statusColumnTitle": "ステータス", - "xpack.securitySolution.flyout.correlations.timestampColumnTitle": "タイムスタンプ", - "xpack.securitySolution.flyout.documentDetails.alertReasonTitle": "アラートの理由", - "xpack.securitySolution.flyout.documentDetails.analyzerGraphButton": "アナライザーグラフ", - "xpack.securitySolution.flyout.documentDetails.analyzerPreviewTitle": "アナライザープレビュー", - "xpack.securitySolution.flyout.documentDetails.collapseDetailButton": "アラート詳細を折りたたむ", - "xpack.securitySolution.flyout.documentDetails.correlationsButton": "相関関係", - "xpack.securitySolution.flyout.documentDetails.correlationsTitle": "相関関係", - "xpack.securitySolution.flyout.documentDetails.documentDescriptionTitle": "ドキュメント説明", - "xpack.securitySolution.flyout.documentDetails.documentReasonTitle": "ドキュメント理由", - "xpack.securitySolution.flyout.documentDetails.entitiesButton": "エンティティ", - "xpack.securitySolution.flyout.documentDetails.entitiesTitle": "エンティティ", - "xpack.securitySolution.flyout.documentDetails.expandDetailButton": "アラート詳細を展開", - "xpack.securitySolution.flyout.documentDetails.highlightedFieldsTitle": "ハイライトされたフィールド", - "xpack.securitySolution.flyout.documentDetails.insightsOptions": "インサイトオプション", - "xpack.securitySolution.flyout.documentDetails.insightsTab": "インサイト", - "xpack.securitySolution.flyout.documentDetails.insightsTitle": "インサイト", - "xpack.securitySolution.flyout.documentDetails.investigationSectionTitle": "調査", - "xpack.securitySolution.flyout.documentDetails.investigationsTab": "調査", - "xpack.securitySolution.flyout.documentDetails.jsonTab": "JSON", - "xpack.securitySolution.flyout.documentDetails.overviewTab": "概要", - "xpack.securitySolution.flyout.documentDetails.overviewTab.prevalenceRowText": "共通しない", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichment": "脅威インテリジェンスで拡張されたフィールド", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichments": "脅威インテリジェンスで拡張されたフィールド", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatch": "脅威一致が検出されました", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatches": "脅威一致が検出されました", - "xpack.securitySolution.flyout.documentDetails.prevalenceButton": "発生率", - "xpack.securitySolution.flyout.documentDetails.prevalenceTitle": "発生率", - "xpack.securitySolution.flyout.documentDetails.riskScoreTitle": "リスクスコア", - "xpack.securitySolution.flyout.documentDetails.ruleDescriptionTitle": "ルールの説明", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.commandText": "グループ基準", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.processText": "開始済み", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.ruleText": "ルールがある", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.timeText": "に", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.title": "セッションビューアープレビュー", - "xpack.securitySolution.flyout.documentDetails.sessionViewButton": "セッションビュー", - "xpack.securitySolution.flyout.documentDetails.severityTitle": "深刻度", - "xpack.securitySolution.flyout.documentDetails.share": "アラートを共有", - "xpack.securitySolution.flyout.documentDetails.tableTab": "表", - "xpack.securitySolution.flyout.documentDetails.threatIntelligenceButton": "脅威インテリジェンス", - "xpack.securitySolution.flyout.documentDetails.threatIntelligenceTitle": "脅威インテリジェンス", - "xpack.securitySolution.flyout.documentDetails.visualizationsTitle": "ビジュアライゼーション", - "xpack.securitySolution.flyout.documentDetails.visualizeOptions": "Visualizeオプション", - "xpack.securitySolution.flyout.documentDetails.visualizeTab": "可視化", - "xpack.securitySolution.flyout.documentErrorMessage": "ドキュメントフィールドおよび値", - "xpack.securitySolution.flyout.documentErrorTitle": "ドキュメント情報", "xpack.securitySolution.flyout.entities.failRelatedHostsDescription": "関連するホストで検索を実行できませんでした", "xpack.securitySolution.flyout.entities.failRelatedUsersDescription": "関連するユーザーで検索を実行できませんでした", - "xpack.securitySolution.flyout.entities.hostsInfoTitle": "ホスト情報", - "xpack.securitySolution.flyout.entities.relatedEntitiesIpColumn": "IPアドレス", - "xpack.securitySolution.flyout.entities.relatedEntitiesNameColumn": "名前", - "xpack.securitySolution.flyout.entities.relatedHostsTitle": "関連するホスト", - "xpack.securitySolution.flyout.entities.relatedUsersTitle": "関連するユーザー", - "xpack.securitySolution.flyout.entities.usersInfoTitle": "ユーザー情報", - "xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle": "アラート件数", - "xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle": "ドキュメントカウント", - "xpack.securitySolution.flyout.response.title": "対応", - "xpack.securitySolution.flyout.sessionViewErrorMessage": "セッションビュー", "xpack.securitySolution.footer.autoRefreshActiveDescription": "自動更新アクション", "xpack.securitySolution.footer.cancel": "キャンセル", "xpack.securitySolution.footer.data": "データ", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index b56dc397608bd..7c0d74cc40459 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -29862,8 +29862,6 @@ "xpack.securitySolution.exceptions.viewer.lastUpdated": "已更新 {updated}", "xpack.securitySolution.exceptions.viewer.paginationDetails": "正在显示 {partOne} 个,共 {partTwo} 个", "xpack.securitySolution.fieldBrowser.descriptionForScreenReaderOnly": "{field} 字段的描述:", - "xpack.securitySolution.flyout.errorMessage": "显示 {message} 时出现错误", - "xpack.securitySolution.flyout.errorTitle": "无法显示 {title}", "xpack.securitySolution.footer.autoRefreshActiveTooltip": "自动刷新已启用时,时间线将显示匹配查询的最近 {numberOfItems} 个事件。", "xpack.securitySolution.formattedNumber.countsLabel": "{mantissa}{scale}{hasRemainder}", "xpack.securitySolution.header.editableTitle.editButtonAria": "通过单击,可以编辑 {title}", @@ -33080,70 +33078,9 @@ "xpack.securitySolution.fleetIntegration.assets.name": "主机", "xpack.securitySolution.fleetIntegration.elasticDefend.eventFilter.nonInteractiveSessions.description": "云安全事件筛选。已由 Elastic Defend 集成创建。", "xpack.securitySolution.fleetIntegration.elasticDefend.eventFilter.nonInteractiveSessions.name": "非交互式会话", - "xpack.securitySolution.flyout.analyzerErrorMessage": "分析器", "xpack.securitySolution.flyout.button.timeline": "时间线", - "xpack.securitySolution.flyout.correlations.caseNameColumnTitle": "名称", - "xpack.securitySolution.flyout.correlations.reasonColumnTitle": "原因", - "xpack.securitySolution.flyout.correlations.ruleColumnTitle": "规则", - "xpack.securitySolution.flyout.correlations.severityColumnTitle": "严重性", - "xpack.securitySolution.flyout.correlations.statusColumnTitle": "状态", - "xpack.securitySolution.flyout.correlations.timestampColumnTitle": "时间戳", - "xpack.securitySolution.flyout.documentDetails.alertReasonTitle": "告警原因", - "xpack.securitySolution.flyout.documentDetails.analyzerGraphButton": "分析器图表", - "xpack.securitySolution.flyout.documentDetails.analyzerPreviewTitle": "分析器预览", - "xpack.securitySolution.flyout.documentDetails.collapseDetailButton": "折叠告警详情", - "xpack.securitySolution.flyout.documentDetails.correlationsButton": "相关性", - "xpack.securitySolution.flyout.documentDetails.correlationsTitle": "相关性", - "xpack.securitySolution.flyout.documentDetails.documentDescriptionTitle": "文档描述", - "xpack.securitySolution.flyout.documentDetails.documentReasonTitle": "文档原因", - "xpack.securitySolution.flyout.documentDetails.entitiesButton": "实体", - "xpack.securitySolution.flyout.documentDetails.entitiesTitle": "实体", - "xpack.securitySolution.flyout.documentDetails.expandDetailButton": "展开告警详情", - "xpack.securitySolution.flyout.documentDetails.highlightedFieldsTitle": "突出显示的字段", - "xpack.securitySolution.flyout.documentDetails.insightsOptions": "洞见选项", - "xpack.securitySolution.flyout.documentDetails.insightsTab": "洞见", - "xpack.securitySolution.flyout.documentDetails.insightsTitle": "洞见", - "xpack.securitySolution.flyout.documentDetails.investigationSectionTitle": "调查", - "xpack.securitySolution.flyout.documentDetails.investigationsTab": "调查", - "xpack.securitySolution.flyout.documentDetails.jsonTab": "JSON", - "xpack.securitySolution.flyout.documentDetails.overviewTab": "概览", - "xpack.securitySolution.flyout.documentDetails.overviewTab.prevalenceRowText": "不常见", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichment": "已使用威胁情报扩充字段", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatEnrichments": "已使用威胁情报扩充字段", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatch": "检测到威胁匹配", - "xpack.securitySolution.flyout.documentDetails.overviewTab.threatIntelligence.threatMatches": "检测到威胁匹配", - "xpack.securitySolution.flyout.documentDetails.prevalenceButton": "普及率", - "xpack.securitySolution.flyout.documentDetails.prevalenceTitle": "普及率", - "xpack.securitySolution.flyout.documentDetails.riskScoreTitle": "风险分数", - "xpack.securitySolution.flyout.documentDetails.ruleDescriptionTitle": "规则描述", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.commandText": "依据", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.processText": "已启动", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.ruleText": "具有规则", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.timeText": "处于", - "xpack.securitySolution.flyout.documentDetails.sessionPreview.title": "会话查看器预览", - "xpack.securitySolution.flyout.documentDetails.sessionViewButton": "会话视图", - "xpack.securitySolution.flyout.documentDetails.severityTitle": "严重性", - "xpack.securitySolution.flyout.documentDetails.share": "共享告警", - "xpack.securitySolution.flyout.documentDetails.tableTab": "表", - "xpack.securitySolution.flyout.documentDetails.threatIntelligenceButton": "威胁情报", - "xpack.securitySolution.flyout.documentDetails.threatIntelligenceTitle": "威胁情报", - "xpack.securitySolution.flyout.documentDetails.visualizationsTitle": "可视化", - "xpack.securitySolution.flyout.documentDetails.visualizeOptions": "Visualize 选项", - "xpack.securitySolution.flyout.documentDetails.visualizeTab": "Visualize", - "xpack.securitySolution.flyout.documentErrorMessage": "文档字段和值", - "xpack.securitySolution.flyout.documentErrorTitle": "文档信息", "xpack.securitySolution.flyout.entities.failRelatedHostsDescription": "无法对相关主机执行搜索", "xpack.securitySolution.flyout.entities.failRelatedUsersDescription": "无法对相关用户执行搜索", - "xpack.securitySolution.flyout.entities.hostsInfoTitle": "主机信息", - "xpack.securitySolution.flyout.entities.relatedEntitiesIpColumn": "IP 地址", - "xpack.securitySolution.flyout.entities.relatedEntitiesNameColumn": "名称", - "xpack.securitySolution.flyout.entities.relatedHostsTitle": "相关主机", - "xpack.securitySolution.flyout.entities.relatedUsersTitle": "相关用户", - "xpack.securitySolution.flyout.entities.usersInfoTitle": "用户信息", - "xpack.securitySolution.flyout.prevalenceTableAlertCountColumnTitle": "告警计数", - "xpack.securitySolution.flyout.prevalenceTableDocCountColumnTitle": "文档计数", - "xpack.securitySolution.flyout.response.title": "响应", - "xpack.securitySolution.flyout.sessionViewErrorMessage": "会话视图", "xpack.securitySolution.footer.autoRefreshActiveDescription": "自动刷新已启用", "xpack.securitySolution.footer.cancel": "取消", "xpack.securitySolution.footer.data": "数据", diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_overview_tab.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_overview_tab.cy.ts index 969934eb5fee1..02c25f751e6a6 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_overview_tab.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/alerts/expandable_flyout/alert_details_right_panel_overview_tab.cy.ts @@ -268,13 +268,13 @@ describe( cy.get(DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_INSIGHTS_THREAT_INTELLIGENCE_VALUES) .eq(0) .should('be.visible') - .and('have.text', '0 threat match detected'); // TODO work on getting proper IoC data to get proper data here + .and('have.text', '0 threat matches detected'); // TODO work on getting proper IoC data to get proper data here // field with threat enrichement cy.get(DOCUMENT_DETAILS_FLYOUT_OVERVIEW_TAB_INSIGHTS_THREAT_INTELLIGENCE_VALUES) .eq(1) .should('be.visible') - .and('have.text', '0 field enriched with threat intelligence'); // TODO work on getting proper IoC data to get proper data here + .and('have.text', '0 fields enriched with threat intelligence'); // TODO work on getting proper IoC data to get proper data here }); cy.log('should navigate to left panel Threat Intelligence tab'); From 86e508abf7011734f1ed80ccbb39475f10b2b86e Mon Sep 17 00:00:00 2001 From: Maxim Kholod Date: Thu, 14 Sep 2023 18:47:43 +0200 Subject: [PATCH 047/149] [Cloud Security] fix "Install Agent" link from empty states (#166370) ## Summary A part of Quick Wins day fixes - https://github.com/elastic/kibana/issues/160286 The fix is to load more CSP integrations and pick the one that matches the posture type of the current empty state --- ...se_navigate_to_cis_integration_policies.ts | 25 ++++++++++++++++--- .../public/components/no_findings_states.tsx | 19 +++----------- .../components/no_vulnerabilities_states.tsx | 21 ++++------------ 3 files changed, 29 insertions(+), 36 deletions(-) diff --git a/x-pack/plugins/cloud_security_posture/public/common/navigation/use_navigate_to_cis_integration_policies.ts b/x-pack/plugins/cloud_security_posture/public/common/navigation/use_navigate_to_cis_integration_policies.ts index 350d7a8f38dac..af1dc5e795485 100644 --- a/x-pack/plugins/cloud_security_posture/public/common/navigation/use_navigate_to_cis_integration_policies.ts +++ b/x-pack/plugins/cloud_security_posture/public/common/navigation/use_navigate_to_cis_integration_policies.ts @@ -8,18 +8,35 @@ import { pagePathGetters, pkgKeyFromPackageInfo } from '@kbn/fleet-plugin/public'; import { useCisKubernetesIntegration } from '../api/use_cis_kubernetes_integration'; import { useKibana } from '../hooks/use_kibana'; +import { useCspBenchmarkIntegrations } from '../../pages/benchmarks/use_csp_benchmark_integrations'; +import { PostureTypes } from '../../../common/types'; export const useCISIntegrationPoliciesLink = ({ - addAgentToPolicyId = '', - integration = '', + postureType, }: { - addAgentToPolicyId?: string; - integration?: string; + postureType: PostureTypes; }): string | undefined => { const { http } = useKibana().services; const cisIntegration = useCisKubernetesIntegration(); + // using an existing hook to get agent id and package policy id + const cspBenchmarkIntegrations = useCspBenchmarkIntegrations({ + name: '', + page: 1, + perPage: 100, + sortField: 'package_policy.name', + sortOrder: 'asc', + }); if (!cisIntegration.isSuccess) return; + const intergrations = cspBenchmarkIntegrations.data?.items; + const matchedIntegration = intergrations?.find( + (integration) => + integration?.package_policy?.inputs?.find((input) => input?.enabled)?.policy_template === + postureType + ); + const addAgentToPolicyId = matchedIntegration?.agent_policy.id || ''; + const integration = matchedIntegration?.package_policy.id || ''; + const path = pagePathGetters .integration_details_policies({ addAgentToPolicyId, diff --git a/x-pack/plugins/cloud_security_posture/public/components/no_findings_states.tsx b/x-pack/plugins/cloud_security_posture/public/components/no_findings_states.tsx index 292831821173e..422695c7ff576 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/no_findings_states.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/no_findings_states.tsx @@ -22,7 +22,6 @@ import { i18n } from '@kbn/i18n'; import { css } from '@emotion/react'; import { CSPM_POLICY_TEMPLATE, KSPM_POLICY_TEMPLATE } from '../../common/constants'; import { FullSizeCenteredPage } from './full_size_centered_page'; -import { useCspBenchmarkIntegrations } from '../pages/benchmarks/use_csp_benchmark_integrations'; import { useCISIntegrationPoliciesLink } from '../common/navigation/use_navigate_to_cis_integration_policies'; import { CSPM_NOT_INSTALLED_ACTION_SUBJ, @@ -37,21 +36,9 @@ import noDataIllustration from '../assets/illustrations/no_data_illustration.svg import { useCspIntegrationLink } from '../common/navigation/use_csp_integration_link'; import { NO_FINDINGS_STATUS_REFRESH_INTERVAL_MS } from '../common/constants'; -const NotDeployed = () => { - // using an existing hook to get agent id and package policy id - const benchmarks = useCspBenchmarkIntegrations({ - name: '', - page: 1, - perPage: 1, - sortField: 'package_policy.name', - sortOrder: 'asc', - }); - - // the ids are not a must, but as long as we have them we can open the add agent flyout - const firstBenchmark = benchmarks.data?.items?.[0]; +const NotDeployed = ({ postureType }: { postureType: PostureTypes }) => { const integrationPoliciesLink = useCISIntegrationPoliciesLink({ - addAgentToPolicyId: firstBenchmark?.agent_policy.id || '', - integration: firstBenchmark?.package_policy.id || '', + postureType, }); return ( @@ -280,7 +267,7 @@ export const NoFindingsStates = ({ posturetype }: { posturetype: PostureTypes }) .map((idxDetails: IndexDetails) => idxDetails.index) .sort((a, b) => a.localeCompare(b)); const render = () => { - if (status === 'not-deployed') return ; // integration installed, but no agents added + if (status === 'not-deployed') return ; // integration installed, but no agents added if (status === 'indexing' || status === 'waiting_for_results') return ; // agent added, index timeout hasn't passed since installation if (status === 'index-timeout') return ; // agent added, index timeout has passed if (status === 'unprivileged') diff --git a/x-pack/plugins/cloud_security_posture/public/components/no_vulnerabilities_states.tsx b/x-pack/plugins/cloud_security_posture/public/components/no_vulnerabilities_states.tsx index bfa92c2ef6ece..7dee3e94e70a6 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/no_vulnerabilities_states.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/no_vulnerabilities_states.tsx @@ -33,7 +33,7 @@ import { import noDataIllustration from '../assets/illustrations/no_data_illustration.svg'; import { useCspIntegrationLink } from '../common/navigation/use_csp_integration_link'; import { useCISIntegrationPoliciesLink } from '../common/navigation/use_navigate_to_cis_integration_policies'; -import { useCspBenchmarkIntegrations } from '../pages/benchmarks/use_csp_benchmark_integrations'; +import { PostureTypes } from '../../common/types'; const REFETCH_INTERVAL_MS = 20000; @@ -191,21 +191,9 @@ const Unprivileged = ({ unprivilegedIndices }: { unprivilegedIndices: string[] } } /> ); -const AgentNotDeployedEmptyPrompt = () => { - // using an existing hook to get agent id and package policy id - const benchmarks = useCspBenchmarkIntegrations({ - name: '', - page: 1, - perPage: 1, - sortField: 'package_policy.name', - sortOrder: 'asc', - }); - - // the ids are not a must, but as long as we have them we can open the add agent flyout - const firstBenchmark = benchmarks.data?.items?.[0]; +const AgentNotDeployedEmptyPrompt = ({ postureType }: { postureType: PostureTypes }) => { const integrationPoliciesLink = useCISIntegrationPoliciesLink({ - addAgentToPolicyId: firstBenchmark?.agent_policy.id || '', - integration: firstBenchmark?.package_policy.id || '', + postureType, }); return ( @@ -268,7 +256,8 @@ export const NoVulnerabilitiesStates = () => { return ( ); - if (status === 'not-deployed') return ; + if (status === 'not-deployed') + return ; if (status === 'unprivileged') return ; // user has no privileges for our indices }; From 6a5733058beecbdda3587311d2b86c6a03da4895 Mon Sep 17 00:00:00 2001 From: Kevin Delemme Date: Thu, 14 Sep 2023 12:50:41 -0400 Subject: [PATCH 048/149] fix(slo): handle burn rate of 0 as success (#166393) --- .../slo_details/components/burn_rate.test.tsx | 36 +++++++++++++++++++ .../slo_details/components/burn_rate.tsx | 6 ++-- 2 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 x-pack/plugins/observability/public/pages/slo_details/components/burn_rate.test.tsx diff --git a/x-pack/plugins/observability/public/pages/slo_details/components/burn_rate.test.tsx b/x-pack/plugins/observability/public/pages/slo_details/components/burn_rate.test.tsx new file mode 100644 index 0000000000000..5185fa73758d1 --- /dev/null +++ b/x-pack/plugins/observability/public/pages/slo_details/components/burn_rate.test.tsx @@ -0,0 +1,36 @@ +/* + * 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 { screen } from '@testing-library/react'; +import React from 'react'; + +import { buildSlo } from '../../../data/slo/slo'; +import { render } from '../../../utils/test_helper'; +import { BurnRate } from './burn_rate'; + +describe('BurnRate', () => { + it("displays '--' when burn rate is 'undefined'", async () => { + const slo = buildSlo(); + render(); + + expect(screen.queryByTestId('sloDetailsBurnRateStat')).toHaveTextContent('--'); + }); + + it("displays the burn rate value when not 'undefined'", async () => { + const slo = buildSlo(); + render(); + + expect(screen.queryByTestId('sloDetailsBurnRateStat')).toHaveTextContent('3.4x'); + }); + + it("displays the burn rate value when '0'", async () => { + const slo = buildSlo(); + render(); + + expect(screen.queryByTestId('sloDetailsBurnRateStat')).toHaveTextContent('0x'); + }); +}); diff --git a/x-pack/plugins/observability/public/pages/slo_details/components/burn_rate.tsx b/x-pack/plugins/observability/public/pages/slo_details/components/burn_rate.tsx index 1fd2014dee4c7..46c35436359cf 100644 --- a/x-pack/plugins/observability/public/pages/slo_details/components/burn_rate.tsx +++ b/x-pack/plugins/observability/public/pages/slo_details/components/burn_rate.tsx @@ -64,7 +64,8 @@ function getSubtitleFromStatus( } export function BurnRate({ threshold, burnRate, slo, isLoading }: BurnRateParams) { - const status: Status = !burnRate ? 'NO_DATA' : burnRate > threshold ? 'BREACHED' : 'OK'; + const status: Status = + burnRate === undefined ? 'NO_DATA' : burnRate > threshold ? 'BREACHED' : 'OK'; const color = status === 'NO_DATA' ? 'subdued' : status === 'BREACHED' ? 'danger' : 'success'; return ( @@ -86,11 +87,12 @@ export function BurnRate({ threshold, burnRate, slo, isLoading }: BurnRateParams From 70b56b92b039ade5a8dcc8911b5f404d6d8e07a3 Mon Sep 17 00:00:00 2001 From: Kevin Delemme Date: Thu, 14 Sep 2023 12:50:52 -0400 Subject: [PATCH 049/149] chore(slo): Rename group by to partition by labels (#166456) --- .../components/slo/slo_status_badge/slo_group_by_badge.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/observability/public/components/slo/slo_status_badge/slo_group_by_badge.tsx b/x-pack/plugins/observability/public/components/slo/slo_status_badge/slo_group_by_badge.tsx index 1a665924b5227..455d6d9d24ed3 100644 --- a/x-pack/plugins/observability/public/components/slo/slo_status_badge/slo_group_by_badge.tsx +++ b/x-pack/plugins/observability/public/components/slo/slo_status_badge/slo_group_by_badge.tsx @@ -25,10 +25,10 @@ export function SloGroupByBadge({ slo }: Props) { Date: Thu, 14 Sep 2023 11:26:21 -0700 Subject: [PATCH 050/149] [DOCS] Add preconfigured webhook connector settings (#166289) --- .../connector-apis-passthru.asciidoc | 10 ++++++++ docs/settings/alert-action-settings.asciidoc | 12 ++++++---- .../plugins/actions/docs/openapi/bundled.json | 24 +++++++++++++++++++ .../plugins/actions/docs/openapi/bundled.yaml | 16 +++++++++++++ ...}@api@actions@connector@{connectorid}.yaml | 2 +- 5 files changed, 59 insertions(+), 5 deletions(-) diff --git a/docs/api-generated/connectors/connector-apis-passthru.asciidoc b/docs/api-generated/connectors/connector-apis-passthru.asciidoc index ab374a6dc4a7d..a3d8de47a0ab2 100644 --- a/docs/api-generated/connectors/connector-apis-passthru.asciidoc +++ b/docs/api-generated/connectors/connector-apis-passthru.asciidoc @@ -1122,6 +1122,7 @@ Any modifications made to this file will be overwritten.
  • update_connector_request_slack_webhook - Update Slack connector request
  • update_connector_request_swimlane - Update Swimlane connector request
  • update_connector_request_teams - Update Microsoft Teams connector request
  • +
  • update_connector_request_webhook - Update Webhook connector request
  • update_connector_request_xmatters - Update xMatters connector request
  • @@ -2688,6 +2689,15 @@ Any modifications made to this file will be overwritten.
    secrets
    +

    update_connector_request_xmatters - Update xMatters connector request Up

    diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index 5f5f0e699f59b..88da0859858a0 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -322,10 +322,10 @@ For a <>, specifies a REST API NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname in the URL is added to the allowed hosts. `xpack.actions.preconfigured..config.hasAuth`:: -For an <> or <>, specifies whether a user and password are required inside the secrets configuration. Defaults to `true`. +For an <>, <>, or <>, specifies whether a user and password are required inside the secrets configuration. Defaults to `true`. `xpack.actions.preconfigured..config.headers`:: -For a <>, specifies a set of key-value pairs sent as headers with the request. +For a <> or <>, specifies a set of key-value pairs sent as headers with the request. `xpack.actions.preconfigured..config.host`:: For an <>, specifies the host name of the service provider. @@ -333,6 +333,9 @@ For an <>, specifies the host name of the ser `xpack.actions.preconfigured..config.index`:: For an <>, specifies the {es} index. +`xpack.actions.preconfigured..config.method`:: +For a <>, specifies the HTTP request method, either `post` or `put`. Defaults to `post`. + `xpack.actions.preconfigured..config.orgId`:: For an <>, specifies the {ibm-r} organization identifier. @@ -370,6 +373,7 @@ A configuration URL that varies by connector: + -- * For a <>, specifies the D3 Security API request URL. +* For a <>, specifies the web service request URL. NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure this hostname is added to the allowed hosts. -- @@ -420,7 +424,7 @@ For a <>, specifies the account email for HTTP A password secret that varies by connector: + -- -* For an <> or <>, specifies a password that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. +* For an <>, <>, or <>, specifies a password that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. * For an <>, specifies a password that is required when `xpack.actions.preconfigured..config.usesBasic` is `true`. -- @@ -445,7 +449,7 @@ A token secret that varies by connector: A user name secret that varies by connector: + -- -* For an <> or <>, specifies a user name that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. +* For an <>, <>, or <>, specifies a user name that is required when `xpack.actions.preconfigured..config.hasAuth` is `true`. * For an <>, specifies a user name that is required when `xpack.actions.preconfigured..config.usesBasic` is `true`. -- diff --git a/x-pack/plugins/actions/docs/openapi/bundled.json b/x-pack/plugins/actions/docs/openapi/bundled.json index 4f73e1bc151ea..360ba08302bf6 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.json +++ b/x-pack/plugins/actions/docs/openapi/bundled.json @@ -505,6 +505,9 @@ { "$ref": "#/components/schemas/update_connector_request_teams" }, + { + "$ref": "#/components/schemas/update_connector_request_webhook" + }, { "$ref": "#/components/schemas/update_connector_request_xmatters" } @@ -4177,6 +4180,27 @@ } } }, + "update_connector_request_webhook": { + "title": "Update Webhook connector request", + "type": "object", + "required": [ + "config", + "name", + "secrets" + ], + "properties": { + "config": { + "$ref": "#/components/schemas/config_properties_webhook" + }, + "name": { + "type": "string", + "description": "The display name for the connector." + }, + "secrets": { + "$ref": "#/components/schemas/secrets_properties_webhook" + } + } + }, "update_connector_request_xmatters": { "title": "Update xMatters connector request", "type": "object", diff --git a/x-pack/plugins/actions/docs/openapi/bundled.yaml b/x-pack/plugins/actions/docs/openapi/bundled.yaml index ed396463ad4c7..bb83bdf65071c 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.yaml +++ b/x-pack/plugins/actions/docs/openapi/bundled.yaml @@ -263,6 +263,7 @@ paths: - $ref: '#/components/schemas/update_connector_request_slack_webhook' - $ref: '#/components/schemas/update_connector_request_swimlane' - $ref: '#/components/schemas/update_connector_request_teams' + - $ref: '#/components/schemas/update_connector_request_webhook' - $ref: '#/components/schemas/update_connector_request_xmatters' examples: updateIndexConnectorRequest: @@ -2896,6 +2897,21 @@ components: description: The display name for the connector. secrets: $ref: '#/components/schemas/secrets_properties_teams' + update_connector_request_webhook: + title: Update Webhook connector request + type: object + required: + - config + - name + - secrets + properties: + config: + $ref: '#/components/schemas/config_properties_webhook' + name: + type: string + description: The display name for the connector. + secrets: + $ref: '#/components/schemas/secrets_properties_webhook' update_connector_request_xmatters: title: Update xMatters connector request type: object diff --git a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml index 319d4be0da2a6..54b164cf48d14 100644 --- a/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml +++ b/x-pack/plugins/actions/docs/openapi/paths/s@{spaceid}@api@actions@connector@{connectorid}.yaml @@ -176,7 +176,7 @@ put: - $ref: '../components/schemas/update_connector_request_swimlane.yaml' - $ref: '../components/schemas/update_connector_request_teams.yaml' # - $ref: '../components/schemas/update_connector_request_tines.yaml' -# - $ref: '../components/schemas/update_connector_request_webhook.yaml' + - $ref: '../components/schemas/update_connector_request_webhook.yaml' - $ref: '../components/schemas/update_connector_request_xmatters.yaml' examples: updateIndexConnectorRequest: From a4494815920a1aadb005aeb4711754400a1a30e4 Mon Sep 17 00:00:00 2001 From: Paul Tavares <56442535+paul-tavares@users.noreply.github.com> Date: Thu, 14 Sep 2023 14:32:47 -0400 Subject: [PATCH 051/149] [Security Solution][Endpoint] Add Serverless support to data loading utilities (#166402) ## Summary PR enables the existing data loading utilities/services, used in e2e testing and CLI tools, to support being run against a serverless Env.. Changes include: - `createRuntimeServices()` and the associated methods that create the ES and KBN clients, will now by default add a CA cert to the ES and KBN clients if the URL protocol is `https` - an option was also added to the mothods that allows a developer to turn this behaviour off if necessary (`noCertForSsl`) - `createRuntimeServices()` option `asSuperuser` will NOT attempt to create a new user in ES if it detects its running against serverless. It will instead set the `username` to `system_indices_superuser` - `resolver_generator.js` script was updated so that it can be run against a serverless env. (note: tested only in local dev, not agains cloud environments) - new utility to determine if Kibana is running in serverless mode (`isServerlessKibanaFlavor()`) - Cypress tests that don't require specific user/role were updated to use `system_indices_superuser` as the default username (instead of `elastic`) --- .../index_endpoint_rule_alerts.ts | 4 - .../data_loaders/setup_fleet_for_endpoint.ts | 15 +- .../common/endpoint/data_loaders/utils.ts | 22 ++- .../public/management/cypress.config.ts | 2 +- .../management/cypress_endpoint.config.ts | 4 + .../scripts/endpoint/common/fleet_services.ts | 18 ++- .../endpoint/common/format_axios_error.ts | 6 +- .../scripts/endpoint/common/stack_services.ts | 89 +++++++++--- .../endpoint/resolver_generator_script.ts | 128 ++++++++++-------- .../security/cypress/cypress.config.ts | 6 + 10 files changed, 201 insertions(+), 93 deletions(-) diff --git a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_endpoint_rule_alerts.ts b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_endpoint_rule_alerts.ts index f6a394e8c46c9..656deff84ec6d 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_endpoint_rule_alerts.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_loaders/index_endpoint_rule_alerts.ts @@ -5488,10 +5488,6 @@ const getAlertsIndexMappings = (): IndexMappings => { index: { auto_expand_replicas: '0-1', hidden: 'true', - lifecycle: { - name: '.alerts-ilm-policy', - rollover_alias: '.alerts-security.alerts-default', - }, mapping: { total_fields: { limit: 1900, 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 6c84cd6e5738f..234be86e4aa02 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 @@ -21,7 +21,12 @@ import { } from '@kbn/fleet-plugin/common'; import { ToolingLog } from '@kbn/tooling-log'; import { UsageTracker } from './usage_tracker'; -import { EndpointDataLoadingError, retryOnError, wrapErrorAndRejectPromise } from './utils'; +import { + EndpointDataLoadingError, + RETRYABLE_TRANSIENT_ERRORS, + retryOnError, + wrapErrorAndRejectPromise, +} from './utils'; const usageTracker = new UsageTracker({ dumpOnProcessExit: true }); @@ -165,13 +170,7 @@ export const installOrUpgradeEndpointFleetPackage = async ( return bulkResp[0] as BulkInstallPackageInfo; }; - return retryOnError( - updatePackages, - ['no_shard_available_action_exception', 'illegal_index_shard_state_exception'], - logger, - 5, - 10000 - ) + return retryOnError(updatePackages, RETRYABLE_TRANSIENT_ERRORS, logger, 5, 10000) .then((result) => { usageRecord.set('success'); diff --git a/x-pack/plugins/security_solution/common/endpoint/data_loaders/utils.ts b/x-pack/plugins/security_solution/common/endpoint/data_loaders/utils.ts index 0db9fb6f82561..b7f7385a5f119 100644 --- a/x-pack/plugins/security_solution/common/endpoint/data_loaders/utils.ts +++ b/x-pack/plugins/security_solution/common/endpoint/data_loaders/utils.ts @@ -8,6 +8,11 @@ import { mergeWith } from 'lodash'; import { ToolingLog } from '@kbn/tooling-log'; +export const RETRYABLE_TRANSIENT_ERRORS: Readonly> = [ + 'no_shard_available_action_exception', + 'illegal_index_shard_state_exception', +]; + export class EndpointDataLoadingError extends Error { constructor(message: string, public meta?: unknown) { super(message); @@ -43,7 +48,7 @@ export const mergeAndAppendArrays = (destinationObj: T, srcObj: S): T => { */ export const retryOnError = async ( callback: () => Promise, - errors: Array, + errors: Array | Readonly>, logger?: ToolingLog, tryCount: number = 5, interval: number = 10000 @@ -60,6 +65,8 @@ export const retryOnError = async ( }); }; + log.indent(4); + let attempt = 1; let responsePromise: Promise; @@ -71,13 +78,20 @@ export const retryOnError = async ( try { responsePromise = callback(); // store promise so that if it fails and no more attempts, we return the last failure - return await responsePromise; + const result = await responsePromise; + + log.info(msg(`attempt ${thisAttempt} was successful. Exiting retry`)); + log.indent(-4); + + return result; } catch (err) { log.info(msg(`attempt ${thisAttempt} failed with: ${err.message}`), err); // If not an error that is retryable, then end loop here and return that error; if (!isRetryableError(err)) { log.error(err); + log.error(msg('non-retryable error encountered')); + log.indent(-4); return Promise.reject(err); } } @@ -85,6 +99,10 @@ export const retryOnError = async ( await new Promise((resolve) => setTimeout(resolve, interval)); } + log.error(msg(`max retry attempts reached. returning last failure`)); + log.indent(-4); + + // Last resort: return the last rejected Promise. // @ts-expect-error TS2454: Variable 'responsePromise' is used before being assigned. return responsePromise; }; diff --git a/x-pack/plugins/security_solution/public/management/cypress.config.ts b/x-pack/plugins/security_solution/public/management/cypress.config.ts index b02724cb8eec8..34e7ae02cb626 100644 --- a/x-pack/plugins/security_solution/public/management/cypress.config.ts +++ b/x-pack/plugins/security_solution/public/management/cypress.config.ts @@ -37,7 +37,7 @@ export default defineCypressConfig({ ELASTICSEARCH_URL: 'http://localhost:9200', FLEET_SERVER_URL: 'https://localhost:8220', // Username/password used for both elastic and kibana - KIBANA_USERNAME: 'elastic', + KIBANA_USERNAME: 'system_indices_superuser', KIBANA_PASSWORD: 'changeme', ELASTICSEARCH_USERNAME: 'system_indices_superuser', ELASTICSEARCH_PASSWORD: 'changeme', diff --git a/x-pack/plugins/security_solution/public/management/cypress_endpoint.config.ts b/x-pack/plugins/security_solution/public/management/cypress_endpoint.config.ts index 73f260d63b4b9..cd1a4c506bc38 100644 --- a/x-pack/plugins/security_solution/public/management/cypress_endpoint.config.ts +++ b/x-pack/plugins/security_solution/public/management/cypress_endpoint.config.ts @@ -39,6 +39,10 @@ export default defineCypressConfig({ 'cypress-react-selector': { root: '#security-solution-app', }, + KIBANA_USERNAME: 'system_indices_superuser', + KIBANA_PASSWORD: 'changeme', + ELASTICSEARCH_USERNAME: 'system_indices_superuser', + ELASTICSEARCH_PASSWORD: 'changeme', }, e2e: { diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts index aff700948b344..db3fe4b32f1e4 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts @@ -37,6 +37,10 @@ import type { import nodeFetch from 'node-fetch'; import semver from 'semver'; import axios from 'axios'; +import { + RETRYABLE_TRANSIENT_ERRORS, + retryOnError, +} from '../../../common/endpoint/data_loaders/utils'; import { fetchKibanaStatus } from './stack_services'; import { catchAxiosErrorFormatAndThrow } from './format_axios_error'; import { FleetAgentGenerator } from '../../../common/endpoint/data_generators/fleet_agent_generator'; @@ -137,11 +141,15 @@ export const waitForHostToEnroll = async ( let found: Agent | undefined; while (!found && !hasTimedOut()) { - found = await fetchFleetAgents(kbnClient, { - perPage: 1, - kuery: `(local_metadata.host.hostname.keyword : "${hostname}") and (status:online)`, - showInactive: false, - }).then((response) => response.items[0]); + found = await retryOnError( + async () => + fetchFleetAgents(kbnClient, { + perPage: 1, + kuery: `(local_metadata.host.hostname.keyword : "${hostname}") and (status:online)`, + showInactive: false, + }).then((response) => response.items[0]), + RETRYABLE_TRANSIENT_ERRORS + ); if (!found) { // sleep and check again diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/format_axios_error.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/format_axios_error.ts index f1b69c8665fc6..1f0c7da3bbad6 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/common/format_axios_error.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/common/format_axios_error.ts @@ -22,7 +22,11 @@ export class FormattedAxiosError extends Error { }; constructor(axiosError: AxiosError) { - super(axiosError.message); + super( + `${axiosError.message}${ + axiosError?.response?.data ? `: ${JSON.stringify(axiosError?.response?.data)}` : '' + }` + ); this.request = { method: axiosError.config?.method ?? '?', diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts index 366b2a81cefcb..7e5d9a95efe76 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts @@ -15,11 +15,15 @@ import nodeFetch from 'node-fetch'; import type { ReqOptions } from '@kbn/test/src/kbn_client/kbn_client_requester'; import { type AxiosResponse } from 'axios'; import type { ClientOptions } from '@elastic/elasticsearch/lib/client'; +import fs from 'fs'; +import { CA_CERT_PATH } from '@kbn/dev-utils'; import { catchAxiosErrorFormatAndThrow } from './format_axios_error'; import { isLocalhost } from './is_localhost'; import { getLocalhostRealIp } from './localhost_services'; import { createSecuritySuperuser } from './security_user_services'; +const CA_CERTIFICATE: Buffer = fs.readFileSync(CA_CERT_PATH); + export interface RuntimeServices { kbnClient: KbnClient; esClient: Client; @@ -64,6 +68,8 @@ interface CreateRuntimeServicesOptions { esPassword?: string; log?: ToolingLog; asSuperuser?: boolean; + /** If true, then a certificate will not be used when creating the Kbn/Es clients when url is `https` */ + noCertForSsl?: boolean; } class KbnClientExtended extends KbnClient { @@ -105,26 +111,39 @@ export const createRuntimeServices = async ({ esPassword, log = new ToolingLog({ level: 'info', writeTo: process.stdout }), asSuperuser = false, + noCertForSsl, }: CreateRuntimeServicesOptions): Promise => { let username = _username; let password = _password; if (asSuperuser) { await waitForKibana(kibanaUrl); + const tmpEsClient = createEsClient({ + url: elasticsearchUrl, + username, + password, + log, + noCertForSsl, + }); - const superuserResponse = await createSecuritySuperuser( - createEsClient({ - url: elasticsearchUrl, - username, - password, - log, - }) - ); + const isServerlessEs = (await tmpEsClient.info()).version.build_flavor === 'serverless'; + + if (isServerlessEs) { + log?.warning( + 'Creating Security Superuser is not supported in current environment. ES is running in serverless mode. ' + + 'Will use username [system_indices_superuser] instead.' + ); + + username = 'system_indices_superuser'; + password = 'changeme'; + } else { + const superuserResponse = await createSecuritySuperuser(tmpEsClient); - ({ username, password } = superuserResponse); + ({ username, password } = superuserResponse); - if (superuserResponse.created) { - log.info(`Kibana user [${username}] was crated with password [${password}]`); + if (superuserResponse.created) { + log.info(`Kibana user [${username}] was crated with password [${password}]`); + } } } @@ -133,16 +152,17 @@ export const createRuntimeServices = async ({ const fleetURL = new URL(fleetServerUrl); return { - kbnClient: createKbnClient({ log, url: kibanaUrl, username, password, apiKey }), + kbnClient: createKbnClient({ log, url: kibanaUrl, username, password, apiKey, noCertForSsl }), esClient: createEsClient({ log, url: elasticsearchUrl, username: esUsername ?? username, password: esPassword ?? password, apiKey, + noCertForSsl, }), log, - localhostRealIp: await getLocalhostRealIp(), + localhostRealIp: getLocalhostRealIp(), apiKey: apiKey ?? '', user: { username, @@ -188,6 +208,7 @@ export const createEsClient = ({ password, apiKey, log, + noCertForSsl, }: { url: string; username: string; @@ -195,11 +216,19 @@ export const createEsClient = ({ /** If defined, both `username` and `password` will be ignored */ apiKey?: string; log?: ToolingLog; + noCertForSsl?: boolean; }): Client => { + const isHttps = new URL(url).protocol.startsWith('https'); const clientOptions: ClientOptions = { node: buildUrlWithCredentials(url, apiKey ? '' : username, apiKey ? '' : password), }; + if (isHttps && !noCertForSsl) { + clientOptions.tls = { + ca: [CA_CERTIFICATE], + }; + } + if (apiKey) { clientOptions.auth = { apiKey }; } @@ -217,6 +246,7 @@ export const createKbnClient = ({ password, apiKey, log = new ToolingLog(), + noCertForSsl, }: { url: string; username: string; @@ -224,16 +254,28 @@ export const createKbnClient = ({ /** If defined, both `username` and `password` will be ignored */ apiKey?: string; log?: ToolingLog; + noCertForSsl?: boolean; }): KbnClient => { - const kbnUrl = buildUrlWithCredentials(url, username, password); + const isHttps = new URL(url).protocol.startsWith('https'); + const clientOptions: ConstructorParameters[0] = { + log, + apiKey, + url: buildUrlWithCredentials(url, username, password), + }; + + if (isHttps && !noCertForSsl) { + clientOptions.certificateAuthorities = [CA_CERTIFICATE]; + } if (log) { log.verbose( - `Creating Kibana client with URL: ${kbnUrl} ${apiKey ? ` + ApiKey: ${apiKey}` : ''}` + `Creating Kibana client with URL: ${clientOptions.url} ${ + apiKey ? ` + ApiKey: ${apiKey}` : '' + }` ); } - return new KbnClientExtended({ log, url: kbnUrl, apiKey }); + return new KbnClientExtended(clientOptions); }; /** @@ -287,3 +329,18 @@ export const waitForKibana = async (kbnUrl: string): Promise => { { maxTimeout: 10000 } ); }; + +export const isServerlessKibanaFlavor = async (kbnClient: KbnClient): Promise => { + const kbnStatus = await fetchKibanaStatus(kbnClient); + + // If we don't have status for plugins, then error + // the Status API will always return something (its an open API), but if auth was successful, + // it will also return more data. + if (!kbnStatus.status.plugins) { + throw new Error( + `Unable to retrieve Kibana plugins status (likely an auth issue with the username being used for kibana)` + ); + } + + return kbnStatus.status.plugins?.serverless?.level === 'available'; +}; diff --git a/x-pack/plugins/security_solution/scripts/endpoint/resolver_generator_script.ts b/x-pack/plugins/security_solution/scripts/endpoint/resolver_generator_script.ts index c0be16370ddcc..c1c38dcf8b30a 100644 --- a/x-pack/plugins/security_solution/scripts/endpoint/resolver_generator_script.ts +++ b/x-pack/plugins/security_solution/scripts/endpoint/resolver_generator_script.ts @@ -19,7 +19,7 @@ import { METADATA_DATASTREAM } from '../../common/endpoint/constants'; import { EndpointMetadataGenerator } from '../../common/endpoint/data_generators/endpoint_metadata_generator'; import { indexHostsAndAlerts } from '../../common/endpoint/index_data'; import { ANCESTRY_LIMIT, EndpointDocGenerator } from '../../common/endpoint/generate_data'; -import { fetchStackVersion } from './common/stack_services'; +import { fetchStackVersion, isServerlessKibanaFlavor } from './common/stack_services'; import { ENDPOINT_ALERTS_INDEX, ENDPOINT_EVENTS_INDEX } from './common/constants'; import { getWithResponseActionsRole } from './common/roles_users/with_response_actions_role'; import { getNoResponseActionsRole } from './common/roles_users/without_response_actions_role'; @@ -161,6 +161,8 @@ function updateURL({ } async function main() { + const startTime = new Date().getTime(); + const argv = yargs.help().options({ seed: { alias: 's', @@ -318,17 +320,16 @@ async function main() { default: false, }, }).argv; - let ca: Buffer; + let ca: Buffer; let clientOptions: ClientOptions; let url: string; let node: string; - const toolingLogOptions = { - log: new ToolingLog({ - level: 'info', - writeTo: process.stdout, - }), - }; + const logger = new ToolingLog({ + level: 'info', + writeTo: process.stdout, + }); + const toolingLogOptions = { log: logger }; let kbnClientOptions: KbnClientOptions = { ...toolingLogOptions, @@ -350,38 +351,62 @@ async function main() { clientOptions = { node: argv.node }; } let client = new Client(clientOptions); + let kbnClient = new KbnClient({ ...kbnClientOptions }); let user: UserInfo | undefined; - // if fleet flag is used - if (argv.fleet) { - // add endpoint user if --withNewUser flag has values as username:password - const newUserCreds = - argv.withNewUser.indexOf(':') !== -1 ? argv.withNewUser.split(':') : undefined; - user = await addUser( - client, - newUserCreds - ? { - username: newUserCreds[0], - password: newUserCreds[1], - } - : undefined + const isServerless = await isServerlessKibanaFlavor(kbnClient); + + logger.info(`Build flavor: ${isServerless ? 'serverless' : 'non-serverless'}`); + + if (argv.fleet && !argv.withNewUser && !isServerless) { + // warn and exit when using fleet flag + logger.error( + 'Please use the --withNewUser=username:password flag to add a custom user with required roles when --fleet is enabled!' ); + // eslint-disable-next-line no-process-exit + process.exit(0); + } - // update client and kibana options before instantiating - if (user) { - // use endpoint user for Es and Kibana URLs + // if fleet flag is used + if (argv.fleet) { + if (!isServerless) { + // add endpoint user if --withNewUser flag has values as username:password + const newUserCreds = + argv.withNewUser.indexOf(':') !== -1 ? argv.withNewUser.split(':') : undefined; + user = await addUser( + client, + newUserCreds + ? { + username: newUserCreds[0], + password: newUserCreds[1], + } + : undefined + ); + + // update client and kibana options before instantiating + if (user) { + // use endpoint user for Es and Kibana URLs + + url = updateURL({ url: argv.kibana, user }); + node = updateURL({ url: argv.node, user }); + + kbnClientOptions = { + ...kbnClientOptions, + url, + }; - url = updateURL({ url: argv.kibana, user }); - node = updateURL({ url: argv.node, user }); + client = new Client({ ...clientOptions, node }); + kbnClient = new KbnClient({ ...kbnClientOptions }); - kbnClientOptions = { - ...kbnClientOptions, - url, - }; - client = new Client({ ...clientOptions, node }); + logger.verbose(`ES/KBN clients updated to login using: ${JSON.stringify(user)}`); + } + } else { + logger.warning( + 'Option `--withNewUser` not supported in serverless.\n' + + 'Ensure that `--kibana` and `--node` options are defined with username/password of ' + + '`system_indices_superuser:changeme`' + ); } } - // instantiate kibana client - const kbnClient = new KbnClient({ ...kbnClientOptions }); if (argv.delete) { await deleteIndices( @@ -391,6 +416,12 @@ async function main() { } if (argv.rbacUser) { + if (isServerless) { + // FIXME:PT create users in serverless when that capability is available + + throw new Error(`Can not use '--rbacUser' option against serverless deployment`); + } + // Add roles and users with response actions kibana privileges for (const role of Object.keys(rolesMapping)) { const addedRole = await addRole(kbnClient, { @@ -398,32 +429,15 @@ async function main() { ...rolesMapping[role], }); if (addedRole) { - console.log(`Successfully added ${role} role`); + logger.info(`Successfully added ${role} role`); await addUser(client, { username: role, password: 'changeme', roles: [role] }); } else { - console.log(`Failed to add role, ${role}`); + logger.warning(`Failed to add role, ${role}`); } } } - let seed = argv.seed; - - if (!seed) { - seed = Math.random().toString(); - console.log(`No seed supplied, using random seed: ${seed}`); - } - - const startTime = new Date().getTime(); - - if (argv.fleet && !argv.withNewUser) { - // warn and exit when using fleet flag - console.log( - 'Please use the --withNewUser=username:password flag to add a custom user with required roles when --fleet is enabled!' - ); - // eslint-disable-next-line no-process-exit - process.exit(0); - } - + const seed = argv.seed || Math.random().toString(); let DocGenerator: typeof EndpointDocGenerator = EndpointDocGenerator; // If `--randomVersions` is NOT set, then use custom generator that ensures all data generated @@ -446,6 +460,7 @@ async function main() { }; } + logger.info('Indexing host and alerts...'); await indexHostsAndAlerts( client, kbnClient, @@ -475,11 +490,12 @@ async function main() { ); // delete endpoint_user after - if (user) { + if (user && !isServerless) { const deleted = await deleteUser(client, user.username); if (deleted.found) { - console.log(`User ${user.username} deleted successfully!`); + logger.info(`User ${user.username} deleted successfully!`); } } - console.log(`Creating and indexing documents took: ${new Date().getTime() - startTime}ms`); + + logger.info(`Creating and indexing documents took: ${new Date().getTime() - startTime}ms`); } diff --git a/x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts b/x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts index 33d7c582835d2..1db2cc6e0119f 100644 --- a/x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts +++ b/x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts @@ -20,6 +20,12 @@ export default defineCypressConfig({ viewportHeight: 946, viewportWidth: 1680, numTestsKeptInMemory: 10, + env: { + KIBANA_USERNAME: 'system_indices_superuser', + KIBANA_PASSWORD: 'changeme', + ELASTICSEARCH_USERNAME: 'system_indices_superuser', + ELASTICSEARCH_PASSWORD: 'changeme', + }, e2e: { experimentalRunAllSpecs: true, experimentalMemoryManagement: true, From 7585057b9133965b65457814172dc8abc8c00eba Mon Sep 17 00:00:00 2001 From: Carlos Crespo Date: Thu, 14 Sep 2023 21:01:15 +0200 Subject: [PATCH 052/149] [Infra UI] Make KPI charts subtitle display the host limit information (#166276) closes https://github.com/elastic/kibana/issues/165825 ## Summary This ticket fixes the problem with the KPI subtitles that were not correctly showing the host limit information https://github.com/elastic/kibana/assets/2767137/c2bb6109-82f6-4e2a-8a00-4ddd3f33fba5 Replacing the `useLazyRef` with `useMemo` in the `use_lens_attributes` to fix this problem, caused many problems with charts re-rendering, now that the attribute builder is no longer a singleton. Charts are heavy components and rendering them unnecessarily degrades performance considerably. So, besides fixing the main issue, I had to fix in this PR the other problems that surfaced after the change. I also renamed a few things. ### How to test this PR - Start a local Kibana instance - Run slingshot with ~200 hosts for a couple of days - Navigate to `Infrastructure` > `Hosts` and change the host limit to confirm that the KPI subtitle will reflect the selection - Check if the clicks on the tabs and checkboxes are responding quickly. --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../hooks/use_asset_details_render_props.ts | 4 +- .../hooks/use_asset_details_url_state.ts | 52 +++--- .../asset_details/hooks/use_date_range.ts | 2 +- .../asset_details/tabs/overview/kpis/kpi.tsx | 62 +++++++ .../tabs/overview/kpis/kpi_grid.tsx | 48 ++---- .../tabs/overview/metrics/chart.tsx | 99 +++++++++++ .../tabs/overview/metrics/chart_utils.ts | 4 +- .../metrics/metrics_charts_section.tsx | 148 ----------------- .../tabs/overview/metrics/metrics_grid.tsx | 98 +++++------ .../tabs/overview/metrics/metrics_section.tsx | 109 ++++++++++++ .../asset_details/tabs/overview/overview.tsx | 12 +- .../asset_details/template/flyout.tsx | 2 +- .../public/components/lens/lens_chart.tsx | 156 +++++++++--------- .../infra/public/components/lens/types.ts | 1 + .../infra/public/hooks/use_lens_attributes.ts | 21 ++- .../metrics/hosts/components/kpis/kpi.tsx | 39 ++--- .../hosts/components/tabs/metrics/chart.tsx | 17 +- .../components/tabs/metrics/metrics_grid.tsx | 4 +- .../hooks/use_control_panels_url_state.ts | 3 +- .../infra/public/utils/use_url_state.ts | 15 +- 20 files changed, 489 insertions(+), 407 deletions(-) create mode 100644 x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/kpi.tsx create mode 100644 x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/chart.tsx delete mode 100644 x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_charts_section.tsx create mode 100644 x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_section.tsx diff --git a/x-pack/plugins/infra/public/components/asset_details/hooks/use_asset_details_render_props.ts b/x-pack/plugins/infra/public/components/asset_details/hooks/use_asset_details_render_props.ts index eab5f8326f525..b8b857ae5ab94 100644 --- a/x-pack/plugins/infra/public/components/asset_details/hooks/use_asset_details_render_props.ts +++ b/x-pack/plugins/infra/public/components/asset_details/hooks/use_asset_details_render_props.ts @@ -21,12 +21,12 @@ export function useAssetDetailsRenderProps({ props }: UseAssetDetailsRenderProps // When the asset asset.name is known we can load the page faster // Otherwise we need to use metadata response. - const loading = !urlState?.name && !asset.name && !metadata?.name; + const loading = !asset.name && !urlState?.name && !metadata?.name; return { asset: { ...asset, - name: urlState?.name || asset.name || metadata?.name || '', + name: asset.name || urlState?.name || metadata?.name || '', }, assetType, overrides, diff --git a/x-pack/plugins/infra/public/components/asset_details/hooks/use_asset_details_url_state.ts b/x-pack/plugins/infra/public/components/asset_details/hooks/use_asset_details_url_state.ts index 525a5b635e19b..305e934c59dce 100644 --- a/x-pack/plugins/infra/public/components/asset_details/hooks/use_asset_details_url_state.ts +++ b/x-pack/plugins/infra/public/components/asset_details/hooks/use_asset_details_url_state.ts @@ -9,14 +9,13 @@ import * as rt from 'io-ts'; import { pipe } from 'fp-ts/lib/pipeable'; import { fold } from 'fp-ts/lib/Either'; import { constant, identity } from 'fp-ts/lib/function'; +import { useCallback } from 'react'; import { ContentTabIds } from '../types'; import { useUrlState } from '../../../utils/use_url_state'; import { ASSET_DETAILS_URL_STATE_KEY } from '../constants'; -import { getDefaultDateRange } from '../utils'; export const DEFAULT_STATE: AssetDetailsUrlState = { tabId: ContentTabIds.OVERVIEW, - dateRange: getDefaultDateRange(), }; type SetAssetDetailsState = (newProp: Payload | null) => void; @@ -29,18 +28,21 @@ export const useAssetDetailsUrlState = (): [AssetDetailsUrl, SetAssetDetailsStat urlStateKey: ASSET_DETAILS_URL_STATE_KEY, }); - const setAssetDetailsState = (newProps: Payload | null) => { - if (!newProps) { - setUrlState(DEFAULT_STATE); - } else { - const payload = Object.fromEntries( - Object.entries(newProps).filter(([_, v]) => !!v || v === '') - ); - setUrlState({ ...(urlState ?? DEFAULT_STATE), ...payload }); - } - }; + const setAssetDetailsState = useCallback( + (newProps: Payload | null) => { + if (!newProps) { + setUrlState(null); + } else { + const payload = Object.fromEntries( + Object.entries(newProps ?? {}).filter(([_, v]) => !!v || v === '') + ); + setUrlState((previous) => ({ ...previous, ...payload })); + } + }, + [setUrlState] + ); - return [urlState as AssetDetailsUrl, setAssetDetailsState]; + return [urlState, setAssetDetailsState]; }; const TabIdRT = rt.union([ @@ -52,21 +54,17 @@ const TabIdRT = rt.union([ rt.literal(ContentTabIds.OSQUERY), ]); -const AssetDetailsUrlStateRT = rt.intersection([ - rt.type({ - dateRange: rt.type({ - from: rt.string, - to: rt.string, - }), +const AssetDetailsUrlStateRT = rt.partial({ + dateRange: rt.type({ + from: rt.string, + to: rt.string, }), - rt.partial({ - tabId: TabIdRT, - name: rt.string, - processSearch: rt.string, - metadataSearch: rt.string, - logsSearch: rt.string, - }), -]); + tabId: TabIdRT, + name: rt.string, + processSearch: rt.string, + metadataSearch: rt.string, + logsSearch: rt.string, +}); const AssetDetailsUrlRT = rt.union([AssetDetailsUrlStateRT, rt.null]); diff --git a/x-pack/plugins/infra/public/components/asset_details/hooks/use_date_range.ts b/x-pack/plugins/infra/public/components/asset_details/hooks/use_date_range.ts index 345d197f23945..3f3e89f7c9a23 100644 --- a/x-pack/plugins/infra/public/components/asset_details/hooks/use_date_range.ts +++ b/x-pack/plugins/infra/public/components/asset_details/hooks/use_date_range.ts @@ -14,7 +14,7 @@ import { getDefaultDateRange, toTimestampRange } from '../utils'; import { useAssetDetailsUrlState } from './use_asset_details_url_state'; export interface UseDateRangeProviderProps { - initialDateRange: TimeRange; + initialDateRange?: TimeRange; } export function useDateRangeProvider({ diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/kpi.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/kpi.tsx new file mode 100644 index 0000000000000..54305b7212a55 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/kpi.tsx @@ -0,0 +1,62 @@ +/* + * 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, { useMemo } from 'react'; + +import type { DataView } from '@kbn/data-views-plugin/public'; +import { TimeRange } from '@kbn/es-query'; +import { LensChart, TooltipContent } from '../../../../lens'; +import { AVERAGE_SUBTITLE, type KPIChartProps } from '../../../../../common/visualizations'; +import { buildCombinedHostsFilter } from '../../../../../utils/filters/build'; + +import { useDateRangeProviderContext } from '../../../hooks/use_date_range'; + +export const Kpi = ({ + id, + title, + layers, + toolTip, + height, + dataView, + assetName, + dateRange, +}: KPIChartProps & { + height: number; + dataView?: DataView; + assetName: string; + dateRange: TimeRange; +}) => { + const { refreshTs } = useDateRangeProviderContext(); + const filters = useMemo(() => { + return [ + buildCombinedHostsFilter({ + field: 'host.name', + values: [assetName], + dataView, + }), + ]; + }, [dataView, assetName]); + + const tooltipContent = useMemo(() => , [toolTip]); + + return ( + + ); +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/kpi_grid.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/kpi_grid.tsx index 011cb94c35253..034d6feaacfcd 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/kpi_grid.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/kpis/kpi_grid.tsx @@ -5,57 +5,33 @@ * 2.0. */ -import React, { useMemo } from 'react'; +import React from 'react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; import type { DataView } from '@kbn/data-views-plugin/public'; import type { TimeRange } from '@kbn/es-query'; -import { LensChart, TooltipContent } from '../../../../lens'; -import { buildCombinedHostsFilter } from '../../../../../utils/filters/build'; -import { - assetDetailsDashboards, - KPI_CHART_HEIGHT, - AVERAGE_SUBTITLE, -} from '../../../../../common/visualizations'; -import { useDateRangeProviderContext } from '../../../hooks/use_date_range'; +import { assetDetailsDashboards, KPI_CHART_HEIGHT } from '../../../../../common/visualizations'; +import { Kpi } from './kpi'; interface Props { dataView?: DataView; - nodeName: string; - timeRange: TimeRange; + assetName: string; + dateRange: TimeRange; } -export const KPIGrid = React.memo(({ nodeName, dataView, timeRange }: Props) => { - const { refreshTs } = useDateRangeProviderContext(); - const filters = useMemo(() => { - return [ - buildCombinedHostsFilter({ - field: 'host.name', - values: [nodeName], - dataView, - }), - ]; - }, [dataView, nodeName]); - +export const KPIGrid = ({ assetName, dataView, dateRange }: Props) => { return ( - {assetDetailsDashboards.host.hostKPICharts.map(({ id, layers, title, toolTip }, index) => ( + {assetDetailsDashboards.host.hostKPICharts.map((chartProps, index) => ( - } - visualizationType="lnsMetric" - disableTriggers - hidePanelTitles /> ))} ); -}); +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/chart.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/chart.tsx new file mode 100644 index 0000000000000..b0c3edf983ee7 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/chart.tsx @@ -0,0 +1,99 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React, { useCallback, useMemo } from 'react'; +import type { XYVisualOptions } from '@kbn/lens-embeddable-utils'; +import type { DataView } from '@kbn/data-views-plugin/public'; +import { TimeRange } from '@kbn/es-query'; +import type { XYConfig } from '../../../../../common/visualizations/lens/dashboards/asset_details/metric_charts/types'; +import { buildCombinedHostsFilter } from '../../../../../utils/filters/build'; +import { BrushEndArgs, LensChart, OnFilterEvent } from '../../../../lens'; +import { METRIC_CHART_HEIGHT } from '../../../constants'; +import { useDateRangeProviderContext } from '../../../hooks/use_date_range'; +import { extractRangeFromChartFilterEvent } from './chart_utils'; + +export interface ChartProps extends XYConfig { + visualOptions?: XYVisualOptions; + metricsDataView?: DataView; + logsDataView?: DataView; + dateRange: TimeRange; + assetName: string; + ['data-test-subj']: string; +} + +export const Chart = ({ + id, + title, + layers, + metricsDataView, + logsDataView, + visualOptions, + dataViewOrigin, + overrides, + dateRange, + assetName, + ...props +}: ChartProps) => { + const { setDateRange } = useDateRangeProviderContext(); + + const dataView = useMemo(() => { + return dataViewOrigin === 'metrics' ? metricsDataView : logsDataView; + }, [dataViewOrigin, logsDataView, metricsDataView]); + + const filters = useMemo(() => { + return [ + buildCombinedHostsFilter({ + field: 'host.name', + values: [assetName], + dataView, + }), + ]; + }, [assetName, dataView]); + + const handleBrushEnd = useCallback( + ({ range, preventDefault }: BrushEndArgs) => { + setDateRange({ + from: new Date(range[0]).toISOString(), + to: new Date(range[1]).toISOString(), + }); + + preventDefault(); + }, + [setDateRange] + ); + + const handleFilter = useCallback( + (event: OnFilterEvent) => { + const range = extractRangeFromChartFilterEvent(event); + + if (range === null) { + return; + } + + setDateRange(range); + event.preventDefault(); + }, + [setDateRange] + ); + + return ( + + ); +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/chart_utils.ts b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/chart_utils.ts index 1eba3da363559..a141c565d2642 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/chart_utils.ts +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/chart_utils.ts @@ -8,12 +8,10 @@ import { MultiValueClickContext } from '@kbn/embeddable-plugin/public'; import { TimeRange } from '@kbn/es-query'; import { DatatableColumn, DatatableRow } from '@kbn/expressions-plugin/common/expression_types'; -import { LensEmbeddableInput } from '@kbn/lens-plugin/public'; +import type { OnFilterEvent } from '../../../../lens'; type ChartClickContextData = MultiValueClickContext['data']['data']; -export type OnFilterEvent = Parameters>[0]; - export function isChartClickContextData(data: unknown): data is ChartClickContextData { return Array.isArray(data) && Array.isArray(data[0]?.cells) && data[0].cells.length > 0; } diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_charts_section.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_charts_section.tsx deleted file mode 100644 index 0b27254fdc146..0000000000000 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_charts_section.tsx +++ /dev/null @@ -1,148 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ -import React, { useCallback, useMemo } from 'react'; - -import { EuiFlexGrid, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import type { DataView } from '@kbn/data-views-plugin/public'; -import type { TimeRange } from '@kbn/es-query'; -import { LensEmbeddableInput } from '@kbn/lens-plugin/public'; -import { XY_MISSING_VALUE_DOTTED_LINE_CONFIG } from '../../../../../common/visualizations'; -import type { XYConfig } from '../../../../../common/visualizations/lens/dashboards/asset_details/metric_charts/types'; -import { buildCombinedHostsFilter } from '../../../../../utils/filters/build'; -import { LensChart } from '../../../../lens'; -import { METRIC_CHART_HEIGHT } from '../../../constants'; -import { useDateRangeProviderContext } from '../../../hooks/use_date_range'; -import { useMetadataStateProviderContext } from '../../../hooks/use_metadata_state'; -import type { DataViewOrigin } from '../../../types'; -import type { OnFilterEvent } from './chart_utils'; -import { extractRangeFromChartFilterEvent } from './chart_utils'; - -type BrushEndArgs = Parameters>[0]; - -interface ChartGridProps { - assetName: string; - timeRange: TimeRange; - metricsDataView?: DataView; - logsDataView?: DataView; - charts: Array; - ['data-test-subj']: string; -} - -export const ChartGrid = React.memo( - ({ assetName, metricsDataView, logsDataView, timeRange, charts, ...props }: ChartGridProps) => { - const { setDateRange } = useDateRangeProviderContext(); - const getDataView = useCallback( - (dataViewOrigin: DataViewOrigin) => { - return dataViewOrigin === 'metrics' ? metricsDataView : logsDataView; - }, - [logsDataView, metricsDataView] - ); - const { metadata } = useMetadataStateProviderContext(); - - const getFilters = useCallback( - (dataViewOrigin: DataViewOrigin) => { - return [ - buildCombinedHostsFilter({ - field: 'host.name', - values: [assetName], - dataView: getDataView(dataViewOrigin), - }), - ]; - }, - [getDataView, assetName] - ); - - const handleBrushEnd = useCallback( - ({ range, preventDefault }: BrushEndArgs) => { - setDateRange({ - from: new Date(range[0]).toISOString(), - to: new Date(range[1]).toISOString(), - }); - - preventDefault(); - }, - [setDateRange] - ); - - const handleFilter = useCallback( - (event: OnFilterEvent) => { - const range = extractRangeFromChartFilterEvent(event); - - if (range === null) { - return; - } - - setDateRange(range); - event.preventDefault(); - }, - [setDateRange] - ); - - const chartsToRender = useMemo( - () => - charts.filter( - (c) => - !c.dependsOn || - c.dependsOn.every((d) => (metadata?.features ?? []).some((f) => d === f.name)) - ), - [charts, metadata?.features] - ); - - return ( - - {chartsToRender.map(({ dataViewOrigin, id, layers, title, overrides }, index) => ( - - - - ))} - - ); - } -); - -export const Section = ({ - title, - dependsOn = [], - children, -}: { - title: React.FunctionComponent; - dependsOn?: string[]; - children: React.ReactNode; -}) => { - const Title = title; - const { metadata } = useMetadataStateProviderContext(); - - const shouldRender = useMemo( - () => - dependsOn.length === 0 || - dependsOn.some((p) => (metadata?.features ?? []).some((f) => f.name === p)), - [dependsOn, metadata?.features] - ); - - return shouldRender ? ( - - - - </EuiFlexItem> - <EuiFlexItem grow={false}>{children}</EuiFlexItem> - </EuiFlexGroup> - ) : null; -}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_grid.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_grid.tsx index 0ec0f51dcd18f..d7ed6509f0812 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_grid.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_grid.tsx @@ -4,77 +4,57 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import React from 'react'; - -import { EuiSpacer } from '@elastic/eui'; +import React, { useMemo } from 'react'; import type { DataView } from '@kbn/data-views-plugin/public'; +import { EuiFlexItem, EuiFlexGrid } from '@elastic/eui'; import type { TimeRange } from '@kbn/es-query'; -import { assetDetailsDashboards } from '../../../../../common/visualizations'; -import { ChartGrid, Section } from './metrics_charts_section'; -import { MetricsSectionTitle, NginxMetricsSectionTitle } from '../../../components/section_titles'; +import type { XYConfig } from '../../../../../common/visualizations/lens/dashboards/asset_details/metric_charts/types'; +import { useMetadataStateProviderContext } from '../../../hooks/use_metadata_state'; +import { Chart } from './chart'; interface Props { assetName: string; dateRange: TimeRange; metricsDataView?: DataView; logsDataView?: DataView; + charts: Array<XYConfig & { dependsOn?: string[] }>; + ['data-test-subj']: string; } -const { host, nginx } = assetDetailsDashboards; +export const MetricsGrid = ({ + assetName, + metricsDataView, + logsDataView, + dateRange, + charts, + ...props +}: Props) => { + const { metadata } = useMetadataStateProviderContext(); -export const MetricsGrid = React.memo( - ({ assetName, metricsDataView, logsDataView, dateRange: timeRange }: Props) => { - return ( - <> - <Section title={MetricsSectionTitle}> - <ChartGrid + const chartsToRender = useMemo( + () => + charts.filter( + (c) => + !c.dependsOn || + c.dependsOn.every((d) => (metadata?.features ?? []).some((f) => d === f.name)) + ), + [charts, metadata?.features] + ); + + return ( + <EuiFlexGrid columns={2} gutterSize="s" data-test-subj={`${props['data-test-subj']}Grid`}> + {chartsToRender.map((chartProp, index) => ( + <EuiFlexItem key={index} grow={false}> + <Chart + {...chartProp} assetName={assetName} - timeRange={timeRange} - charts={host.hostMetricChartsFullPage} - metricsDataView={metricsDataView} + dateRange={dateRange} logsDataView={logsDataView} - data-test-subj="infraAssetDetailsMetricsChart" - /> - </Section> - <EuiSpacer size="s" /> - <Section dependsOn={['nginx.stubstatus', 'nginx.access']} title={NginxMetricsSectionTitle}> - <ChartGrid - assetName={assetName} - timeRange={timeRange} - charts={[ - ...nginx.nginxStubstatusCharts.map((chart) => ({ - ...chart, - dependsOn: ['nginx.stubstatus'], - })), - ...nginx.nginxAccessCharts.map((chart) => ({ - ...chart, - dependsOn: ['nginx.access'], - })), - ]} metricsDataView={metricsDataView} - logsDataView={logsDataView} - data-test-subj="infraAssetDetailsNginxMetricsChart" + data-test-subj={props['data-test-subj']} /> - </Section> - </> - ); - } -); - -export const MetricsGridCompact = ({ - assetName, - metricsDataView, - logsDataView, - dateRange: timeRange, -}: Props) => ( - <Section title={MetricsSectionTitle}> - <ChartGrid - assetName={assetName} - timeRange={timeRange} - charts={host.hostMetricFlyoutCharts} - metricsDataView={metricsDataView} - logsDataView={logsDataView} - data-test-subj="infraAssetDetailsMetricsChart" - /> - </Section> -); + </EuiFlexItem> + ))} + </EuiFlexGrid> + ); +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_section.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_section.tsx new file mode 100644 index 0000000000000..e76397b689ca9 --- /dev/null +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/metrics/metrics_section.tsx @@ -0,0 +1,109 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React, { useMemo } from 'react'; + +import { EuiSpacer, EuiFlexItem } from '@elastic/eui'; +import type { DataView } from '@kbn/data-views-plugin/public'; +import type { TimeRange } from '@kbn/es-query'; +import { EuiFlexGroup } from '@elastic/eui'; +import { assetDetailsDashboards } from '../../../../../common/visualizations'; +import { MetricsSectionTitle, NginxMetricsSectionTitle } from '../../../components/section_titles'; +import { useMetadataStateProviderContext } from '../../../hooks/use_metadata_state'; +import { MetricsGrid } from './metrics_grid'; + +interface Props { + assetName: string; + dateRange: TimeRange; + metricsDataView?: DataView; + logsDataView?: DataView; +} + +const { host, nginx } = assetDetailsDashboards; + +export const MetricsSection = ({ assetName, metricsDataView, logsDataView, dateRange }: Props) => { + return ( + <> + <Section title={MetricsSectionTitle}> + <MetricsGrid + assetName={assetName} + dateRange={dateRange} + charts={host.hostMetricChartsFullPage} + metricsDataView={metricsDataView} + logsDataView={logsDataView} + data-test-subj="infraAssetDetailsMetricsChart" + /> + </Section> + <EuiSpacer size="s" /> + <Section dependsOn={['nginx.stubstatus', 'nginx.access']} title={NginxMetricsSectionTitle}> + <MetricsGrid + assetName={assetName} + dateRange={dateRange} + charts={[ + ...nginx.nginxStubstatusCharts.map((chart) => ({ + ...chart, + dependsOn: ['nginx.stubstatus'], + })), + ...nginx.nginxAccessCharts.map((chart) => ({ + ...chart, + dependsOn: ['nginx.access'], + })), + ]} + metricsDataView={metricsDataView} + logsDataView={logsDataView} + data-test-subj="infraAssetDetailsNginxMetricsChart" + /> + </Section> + </> + ); +}; + +export const MetricsSectionCompact = ({ + assetName, + metricsDataView, + logsDataView, + dateRange, +}: Props) => ( + <Section title={MetricsSectionTitle}> + <MetricsGrid + assetName={assetName} + dateRange={dateRange} + charts={host.hostMetricFlyoutCharts} + metricsDataView={metricsDataView} + logsDataView={logsDataView} + data-test-subj="infraAssetDetailsMetricsChart" + /> + </Section> +); + +const Section = ({ + title, + dependsOn = [], + children, +}: { + title: React.FunctionComponent; + dependsOn?: string[]; + children: React.ReactNode; +}) => { + const Title = title; + const { metadata } = useMetadataStateProviderContext(); + + const shouldRender = useMemo( + () => + dependsOn.length === 0 || + dependsOn.some((p) => (metadata?.features ?? []).some((f) => f.name === p)), + [dependsOn, metadata?.features] + ); + + return shouldRender ? ( + <EuiFlexGroup gutterSize="m" direction="column"> + <EuiFlexItem grow={false}> + <Title /> + </EuiFlexItem> + <EuiFlexItem grow={false}>{children}</EuiFlexItem> + </EuiFlexGroup> + ) : null; +}; diff --git a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx index ffc2d46179146..37478884880b8 100644 --- a/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/tabs/overview/overview.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React from 'react'; +import React, { useMemo } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiCallOut, EuiFlexGroup, EuiFlexItem, EuiLink } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; @@ -15,7 +15,7 @@ import { } from './metadata_summary/metadata_summary_list'; import { AlertsSummaryContent } from './alerts'; import { KPIGrid } from './kpis/kpi_grid'; -import { MetricsGrid, MetricsGridCompact } from './metrics/metrics_grid'; +import { MetricsSection, MetricsSectionCompact } from './metrics/metrics_section'; import { useAssetDetailsRenderPropsContext } from '../../hooks/use_asset_details_render_props'; import { useMetadataStateProviderContext } from '../../hooks/use_metadata_state'; import { useDataViewsProviderContext } from '../../hooks/use_data_views'; @@ -32,18 +32,18 @@ export const Overview = () => { } = useMetadataStateProviderContext(); const { logs, metrics } = useDataViewsProviderContext(); - const parsedDateRange = getParsedDateRange(); + const parsedDateRange = useMemo(() => getParsedDateRange(), [getParsedDateRange]); const isFullPageView = renderMode.mode !== 'flyout'; const metricsSection = isFullPageView ? ( - <MetricsGrid + <MetricsSection dateRange={parsedDateRange} logsDataView={logs.dataView} metricsDataView={metrics.dataView} assetName={asset.name} /> ) : ( - <MetricsGridCompact + <MetricsSectionCompact dateRange={parsedDateRange} logsDataView={logs.dataView} metricsDataView={metrics.dataView} @@ -59,7 +59,7 @@ export const Overview = () => { return ( <EuiFlexGroup direction="column" gutterSize="m"> <EuiFlexItem grow={false}> - <KPIGrid nodeName={asset.name} timeRange={parsedDateRange} dataView={metrics.dataView} /> + <KPIGrid assetName={asset.name} dateRange={parsedDateRange} dataView={metrics.dataView} /> </EuiFlexItem> <EuiFlexItem grow={false}> {fetchMetadataError ? ( diff --git a/x-pack/plugins/infra/public/components/asset_details/template/flyout.tsx b/x-pack/plugins/infra/public/components/asset_details/template/flyout.tsx index f8b4272dae0e6..d7d80c1117ca2 100644 --- a/x-pack/plugins/infra/public/components/asset_details/template/flyout.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/template/flyout.tsx @@ -41,8 +41,8 @@ export const Flyout = ({ }); const handleOnClose = useCallback(() => { - closeFlyout(); setUrlState(null); + closeFlyout(); }, [closeFlyout, setUrlState]); return ( diff --git a/x-pack/plugins/infra/public/components/lens/lens_chart.tsx b/x-pack/plugins/infra/public/components/lens/lens_chart.tsx index c67d659fc3e10..613cfec566572 100644 --- a/x-pack/plugins/infra/public/components/lens/lens_chart.tsx +++ b/x-pack/plugins/infra/public/components/lens/lens_chart.tsx @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import React, { CSSProperties, useMemo } from 'react'; +import React from 'react'; import { EuiPanel, EuiToolTip, type EuiPanelProps } from '@elastic/eui'; import { Action } from '@kbn/ui-actions-plugin/public'; import { css } from '@emotion/react'; @@ -22,88 +22,82 @@ export type LensChartProps = UseLensAttributesParams & toolTip?: React.ReactElement<TooltipContentProps>; }; -export const LensChart = ({ - id, - borderRadius, - dateRange, - filters, - hidePanelTitles, - lastReloadRequestTime, - query, - onBrushEnd, - onFilter, - overrides, - toolTip, - disableTriggers = false, - height = MIN_HEIGHT, - loading = false, - ...lensAttributesParams -}: LensChartProps) => { - const { formula, attributes, getExtraActions, error } = useLensAttributes({ - ...lensAttributesParams, - }); +export const LensChart = React.memo( + ({ + id, + borderRadius, + dateRange, + filters, + hidePanelTitles, + lastReloadRequestTime, + query, + onBrushEnd, + onFilter, + overrides, + toolTip, + disableTriggers = false, + height = MIN_HEIGHT, + loading = false, + ...lensAttributesParams + }: LensChartProps) => { + const { formula, attributes, getExtraActions, error } = useLensAttributes(lensAttributesParams); - const isLoading = loading || !attributes; + const isLoading = loading || !attributes; - const extraActions: Action[] = useMemo( - () => - getExtraActions({ - timeRange: dateRange, - query, - filters, - }), - [dateRange, filters, getExtraActions, query] - ); + const extraActions: Action[] = getExtraActions({ + timeRange: dateRange, + query, + filters, + }); - const sytle: CSSProperties = useMemo(() => ({ height }), [height]); - - const lens = ( - <LensWrapper - id={id} - attributes={attributes} - dateRange={dateRange} - disableTriggers={disableTriggers} - extraActions={extraActions} - filters={filters} - hidePanelTitles={hidePanelTitles} - lastReloadRequestTime={lastReloadRequestTime} - loading={isLoading} - style={sytle} - query={query} - overrides={overrides} - onBrushEnd={onBrushEnd} - onFilter={onFilter} - /> - ); - const content = !toolTip ? ( - lens - ) : ( - <EuiToolTip - delay="regular" - content={React.cloneElement(toolTip, { - formula, - })} - anchorClassName="eui-fullWidth" - > - {/* EuiToolTip forwards some event handlers to the child component. + const lens = ( + <LensWrapper + id={id} + attributes={attributes} + dateRange={dateRange} + disableTriggers={disableTriggers} + extraActions={extraActions} + filters={filters} + hidePanelTitles={hidePanelTitles} + lastReloadRequestTime={lastReloadRequestTime} + loading={isLoading} + style={{ height }} + query={query} + overrides={overrides} + onBrushEnd={onBrushEnd} + onFilter={onFilter} + /> + ); + const content = !toolTip ? ( + lens + ) : ( + <EuiToolTip + delay="regular" + content={React.cloneElement(toolTip, { + formula, + })} + anchorClassName="eui-fullWidth" + > + {/* EuiToolTip forwards some event handlers to the child component. Wrapping Lens inside a div prevents that from causing unnecessary re-renders */} - <div>{lens}</div> - </EuiToolTip> - ); + <div>{lens}</div> + </EuiToolTip> + ); - return ( - <EuiPanel - hasBorder={!!borderRadius} - borderRadius={borderRadius} - hasShadow={false} - paddingSize={error ? 'm' : 'none'} - data-test-subj={id} - css={css` - position: relative; - min-height: ${height}px; - `} - > - {error ? <ChartLoadError /> : content} - </EuiPanel> - ); -}; + return ( + <EuiPanel + hasBorder={!!borderRadius} + borderRadius={borderRadius} + hasShadow={false} + paddingSize={error ? 'm' : 'none'} + data-test-subj={id} + css={css` + position: relative; + min-height: ${height}px; + `} + > + {error ? <ChartLoadError /> : content} + </EuiPanel> + ); + } +); diff --git a/x-pack/plugins/infra/public/components/lens/types.ts b/x-pack/plugins/infra/public/components/lens/types.ts index 399c61d87f4b9..2d3f76d38a31b 100644 --- a/x-pack/plugins/infra/public/components/lens/types.ts +++ b/x-pack/plugins/infra/public/components/lens/types.ts @@ -22,6 +22,7 @@ export type LensWrapperProps = Omit< }; export type BrushEndArgs = Parameters<NonNullable<LensEmbeddableInput['onBrushEnd']>>[0]; +export type OnFilterEvent = Parameters<NonNullable<LensEmbeddableInput['onFilter']>>[0]; export type BaseChartProps = Pick< LensWrapperProps, diff --git a/x-pack/plugins/infra/public/hooks/use_lens_attributes.ts b/x-pack/plugins/infra/public/hooks/use_lens_attributes.ts index 9adf3e52dcdf4..e70e8977027ff 100644 --- a/x-pack/plugins/infra/public/hooks/use_lens_attributes.ts +++ b/x-pack/plugins/infra/public/hooks/use_lens_attributes.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { useCallback } from 'react'; +import { useCallback, useMemo } from 'react'; import type { DataView } from '@kbn/data-views-plugin/public'; import { Filter, Query, TimeRange } from '@kbn/es-query'; import { useKibana } from '@kbn/kibana-react-plugin/public'; @@ -25,9 +25,7 @@ import { XYDataLayer, XYReferenceLinesLayer, } from '@kbn/lens-embeddable-utils'; - import { InfraClientSetupDeps } from '../types'; -import { useLazyRef } from './use_lazy_ref'; import type { MetricChartLayerParams, XYChartLayerParams } from '../common/visualizations/types'; interface UseLensAttributesBaseParams { @@ -44,6 +42,7 @@ export interface UseLensAttributesXYChartParams extends UseLensAttributesBasePar export interface UseLensAttributesMetricChartParams extends UseLensAttributesBaseParams { layers: MetricChartLayerParams; visualizationType: 'lnsMetric'; + subtitle?: string; } export type UseLensAttributesParams = @@ -58,7 +57,7 @@ export const useLensAttributes = ({ dataView, ...params }: UseLensAttributesPara const { value, error } = useAsync(lens.stateHelperApi, [lens]); const { formula: formulaAPI } = value ?? {}; - const attributes = useLazyRef(() => { + const attributes = useMemo(() => { if (!dataView || !formulaAPI) { return null; } @@ -72,19 +71,19 @@ export const useLensAttributes = ({ dataView, ...params }: UseLensAttributesPara }); return builder.build(); - }); + }, [dataView, formulaAPI, params]); const injectFilters = useCallback( ({ filters, query }: { filters: Filter[]; query: Query }): LensAttributes | null => { - if (!attributes.current) { + if (!attributes) { return null; } return { - ...attributes.current, + ...attributes, state: { - ...attributes.current.state, + ...attributes.state, query, - filters: [...attributes.current.state.filters, ...filters], + filters: [...attributes.state.filters, ...filters], }, }; }, @@ -143,7 +142,7 @@ export const useLensAttributes = ({ dataView, ...params }: UseLensAttributesPara return mainFormulaConfig.value; }; - return { formula: getFormula(), attributes: attributes.current, getExtraActions, error }; + return { formula: getFormula(), attributes, getExtraActions, error }; }; const chartFactory = ({ @@ -198,7 +197,7 @@ const chartFactory = ({ formulaAPI, layers: new MetricLayer({ data: params.layers.data, - options: params.layers.options, + options: { ...params.layers.options, subtitle: params.subtitle }, }), title: params.title, }); diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/components/kpis/kpi.tsx b/x-pack/plugins/infra/public/pages/metrics/hosts/components/kpis/kpi.tsx index 18fa090382dc8..24b1ba216d054 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/components/kpis/kpi.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/components/kpis/kpi.tsx @@ -22,11 +22,20 @@ export const Kpi = ({ id, title, layers, toolTip, height }: KPIChartProps & { he const { data: hostCountData, isRequestRunning: hostCountLoading } = useHostCountContext(); const shouldUseSearchCriteria = hostNodes.length === 0; - const loading = hostsLoading || hostCountLoading; - const getSubtitle = () => { - return searchCriteria.limit < (hostCountData?.count.value ?? 0) + const filters = shouldUseSearchCriteria + ? searchCriteria.filters + : [ + buildCombinedHostsFilter({ + field: 'host.name', + values: hostNodes.map((p) => p.name), + dataView, + }), + ]; + + const subtitle = + searchCriteria.limit < (hostCountData?.count.value ?? 0) ? i18n.translate('xpack.infra.hostsViewPage.kpi.subtitle.average.limit', { defaultMessage: 'Average (of {limit} hosts)', values: { @@ -34,42 +43,34 @@ export const Kpi = ({ id, title, layers, toolTip, height }: KPIChartProps & { he }, }) : AVERAGE_SUBTITLE; - }; - - const filters = useMemo(() => { - return shouldUseSearchCriteria - ? searchCriteria.filters - : [ - buildCombinedHostsFilter({ - field: 'host.name', - values: hostNodes.map((p) => p.name), - dataView, - }), - ]; - }, [dataView, hostNodes, searchCriteria.filters, shouldUseSearchCriteria]); // prevents requestTs and searchCriteria state from reloading the chart - // we want it to reload only once the table has finished loading + // we want it to reload only once the table has finished loading. + // attributes passed to useAfterLoadedState don't need to be memoized const { afterLoadedState } = useAfterLoadedState(loading, { lastReloadRequestTime: requestTs, dateRange: parsedDateRange, query: shouldUseSearchCriteria ? searchCriteria.query : undefined, filters, + subtitle, }); + const tooltipComponent = useMemo(() => <TooltipContent description={toolTip} />, [toolTip]); + return ( <LensChart id={`hostsViewKPI-${id}`} dataView={dataView} dateRange={afterLoadedState.dateRange} filters={afterLoadedState.filters} - layers={{ ...layers, options: { ...layers.options, subtitle: getSubtitle() } }} + layers={layers} lastReloadRequestTime={afterLoadedState.lastReloadRequestTime} loading={loading} height={height} query={afterLoadedState.query} title={title} - toolTip={<TooltipContent description={toolTip} />} + subtitle={afterLoadedState.subtitle} + toolTip={tooltipComponent} visualizationType="lnsMetric" disableTriggers hidePanelTitles diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/chart.tsx b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/chart.tsx index e8acd3a05fac3..75f0b25d2b10c 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/chart.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/chart.tsx @@ -30,6 +30,15 @@ export const Chart = ({ id, title, layers, visualOptions, overrides }: ChartProp const shouldUseSearchCriteria = currentPage.length === 0; + // prevents requestTs and searchCriteria state from reloading the chart + // we want it to reload only once the table has finished loading. + // attributes passed to useAfterLoadedState don't need to be memoized + const { afterLoadedState } = useAfterLoadedState(loading, { + lastReloadRequestTime: requestTs, + dateRange: parsedDateRange, + query: shouldUseSearchCriteria ? searchCriteria.query : undefined, + }); + const filters = useMemo(() => { return shouldUseSearchCriteria ? searchCriteria.filters @@ -42,14 +51,6 @@ export const Chart = ({ id, title, layers, visualOptions, overrides }: ChartProp ]; }, [searchCriteria.filters, currentPage, dataView, shouldUseSearchCriteria]); - // prevents requestTs and searchCriteria state from reloading the chart - // we want it to reload only once the table has finished loading - const { afterLoadedState } = useAfterLoadedState(loading, { - lastReloadRequestTime: requestTs, - dateRange: parsedDateRange, - query: shouldUseSearchCriteria ? searchCriteria.query : undefined, - }); - return ( <LensChart id={`hostsView-metricChart-${id}`} diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/metrics_grid.tsx b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/metrics_grid.tsx index 8a81088fb0460..d9310ae0d816b 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/metrics_grid.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/metrics_grid.tsx @@ -14,7 +14,7 @@ import { HostMetricsExplanationContent } from '../../../../../../components/lens import { Chart } from './chart'; import { Popover } from '../../table/popover'; -export const MetricsGrid = React.memo(() => { +export const MetricsGrid = () => { return ( <> <EuiFlexGroup gutterSize="xs" alignItems="center"> @@ -38,4 +38,4 @@ export const MetricsGrid = React.memo(() => { </EuiFlexGrid> </> ); -}); +}; diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_control_panels_url_state.ts b/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_control_panels_url_state.ts index 177c8d869ac6b..42d0522ffb8fa 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_control_panels_url_state.ts +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/hooks/use_control_panels_url_state.ts @@ -11,6 +11,7 @@ import { pipe } from 'fp-ts/lib/pipeable'; import { fold } from 'fp-ts/lib/Either'; import { constant, identity } from 'fp-ts/lib/function'; import type { DataView } from '@kbn/data-views-plugin/public'; +import { useMemo } from 'react'; import { useUrlState } from '../../../../utils/use_url_state'; const HOST_FILTERS_URL_STATE_KEY = 'controlPanels'; @@ -50,7 +51,7 @@ const availableControlPanelFields = Object.values(availableControlsPanels); export const useControlPanels = ( dataView: DataView | undefined ): [ControlPanels, (state: ControlPanels) => void] => { - const defaultState = getVisibleControlPanelsConfig(dataView); + const defaultState = useMemo(() => getVisibleControlPanelsConfig(dataView), [dataView]); const [controlPanels, setControlPanels] = useUrlState<ControlPanels>({ defaultState, diff --git a/x-pack/plugins/infra/public/utils/use_url_state.ts b/x-pack/plugins/infra/public/utils/use_url_state.ts index 8fc03d2d9dda2..a581e6536e487 100644 --- a/x-pack/plugins/infra/public/utils/use_url_state.ts +++ b/x-pack/plugins/infra/public/utils/use_url_state.ts @@ -47,13 +47,24 @@ export const useUrlState = <State>({ }, [defaultState, decodedState]); const setState = useCallback( - (newState: State | undefined) => { + (patch: State | undefined | ((prevState: State) => State)) => { if (!history || !history.location) { return; } const currentLocation = history.location; + const newState = + patch instanceof Function + ? patch( + decodeUrlState( + decodeRisonUrlState( + getParamFromQueryString(getQueryStringFromLocation(currentLocation), urlStateKey) + ) + ) ?? defaultState + ) + : patch; + const newLocation = replaceQueryStringInLocation( currentLocation, replaceStateKeyInQueryString( @@ -66,7 +77,7 @@ export const useUrlState = <State>({ history.replace(newLocation); } }, - [encodeUrlState, history, urlStateKey] + [decodeUrlState, defaultState, encodeUrlState, history, urlStateKey] ); const [shouldInitialize, setShouldInitialize] = useState( From 6e4ecff7c8776e6d446ba9d8b784cee3d9cf1d3f Mon Sep 17 00:00:00 2001 From: Steph Milovic <stephanie.milovic@elastic.co> Date: Thu, 14 Sep 2023 13:06:11 -0600 Subject: [PATCH 053/149] [Security solution] Another GenAI response schema update (#166495) ## Summary Follow up from https://github.com/elastic/kibana/pull/166300 We are only using `messages` from `choices`, so I made the other `choices` properties `maybe` as well --- x-pack/plugins/stack_connectors/common/gen_ai/schema.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/stack_connectors/common/gen_ai/schema.ts b/x-pack/plugins/stack_connectors/common/gen_ai/schema.ts index 860976834076b..f82b89ee7c2b6 100644 --- a/x-pack/plugins/stack_connectors/common/gen_ai/schema.ts +++ b/x-pack/plugins/stack_connectors/common/gen_ai/schema.ts @@ -60,8 +60,8 @@ export const GenAiRunActionResponseSchema = schema.object( }, { unknowns: 'ignore' } ), - finish_reason: schema.string(), - index: schema.number(), + finish_reason: schema.maybe(schema.string()), + index: schema.maybe(schema.number()), }, { unknowns: 'ignore' } ) From c40353fd75b130abaffb84fb7ff1e73a908fb9be Mon Sep 17 00:00:00 2001 From: Alexi Doak <109488926+doakalexi@users.noreply.github.com> Date: Thu, 14 Sep 2023 12:26:14 -0700 Subject: [PATCH 054/149] [ResponseOps][Alerting] Update Elasticsearch Query rule to display ES|QL as "Technical Preview" (#166491) Resolves https://github.com/elastic/kibana/issues/166288 ## Summary Updates the rule create / edit flyout to show ES|QL as "Technical Preview" <img width="559" alt="Screen Shot 2023-09-14 at 9 46 56 AM" src="https://github.com/elastic/kibana/assets/109488926/10c13840-721f-4e6d-b8bf-9e58e75a78d2"> <img width="566" alt="Screen Shot 2023-09-14 at 9 47 42 AM" src="https://github.com/elastic/kibana/assets/109488926/ec3f4ff4-2cd6-4771-80b2-72e6f394e141"> ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) --- .../expression/query_form_type_chooser.tsx | 45 +++++++++++++++++-- 1 file changed, 41 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/query_form_type_chooser.tsx b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/query_form_type_chooser.tsx index 63d0b0d36fe53..0077a035d1e8d 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/query_form_type_chooser.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/query_form_type_chooser.tsx @@ -7,6 +7,7 @@ import React, { useMemo } from 'react'; import { + EuiBetaBadge, EuiButtonIcon, EuiFlexGroup, EuiFlexItem, @@ -21,6 +22,24 @@ import { i18n } from '@kbn/i18n'; import { SearchType } from '../types'; import { useTriggerUiActionServices } from '../util'; +export const ExperimentalBadge = React.memo(() => ( + <EuiBetaBadge + size="s" + label={i18n.translate('xpack.stackAlerts.esQuery.ui.selectQueryFormType.experimentalLabel', { + defaultMessage: 'Technical preview', + })} + tooltipContent={i18n.translate( + 'xpack.stackAlerts.esQuery.ui.selectQueryFormType.experimentalDescription', + { + defaultMessage: + 'This functionality is in technical preview and may be changed or removed completely in a future release. Elastic will take a best effort approach to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.', + } + )} + tooltipPosition="bottom" + /> +)); +ExperimentalBadge.displayName = 'ExperimentalBadge'; + export interface QueryFormTypeProps { searchType: SearchType | null; onFormTypeSelect: (formType: SearchType | null) => void; @@ -94,9 +113,18 @@ export const QueryFormTypeChooser: React.FC<QueryFormTypeProps> = ({ <> <EuiFlexGroup alignItems="center" gutterSize="s" responsive={false}> <EuiFlexItem> - <EuiTitle size="xs" data-test-subj="selectedRuleFormTypeTitle"> - <h5>{activeFormTypeItem?.label}</h5> - </EuiTitle> + <EuiFlexGroup alignItems="center" gutterSize="s"> + <EuiFlexItem grow={false}> + <EuiTitle size="xs" data-test-subj="selectedRuleFormTypeTitle"> + <h5>{activeFormTypeItem?.label}</h5> + </EuiTitle> + </EuiFlexItem> + {activeFormTypeItem?.formType === SearchType.esqlQuery && ( + <EuiFlexItem> + <ExperimentalBadge /> + </EuiFlexItem> + )} + </EuiFlexGroup> </EuiFlexItem> <EuiFlexItem grow={false}> <EuiButtonIcon @@ -140,7 +168,16 @@ export const QueryFormTypeChooser: React.FC<QueryFormTypeProps> = ({ color="primary" label={ <span> - <strong>{item.label}</strong> + <EuiFlexGroup alignItems="center" gutterSize="s"> + <EuiFlexItem grow={false}> + <strong>{item.label}</strong> + </EuiFlexItem> + {item.formType === SearchType.esqlQuery && ( + <EuiFlexItem> + <ExperimentalBadge /> + </EuiFlexItem> + )} + </EuiFlexGroup> <EuiText color="subdued" size="s"> <p>{item.description}</p> </EuiText> From 74c50fc47e753ecfc56249f7322f1ccd720981c6 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 14 Sep 2023 16:12:54 -0400 Subject: [PATCH 055/149] skip failing test suite (#166484) --- test/examples/search/warnings.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/test/examples/search/warnings.ts b/test/examples/search/warnings.ts index dee941b63ef5f..f1856f0b0e611 100644 --- a/test/examples/search/warnings.ts +++ b/test/examples/search/warnings.ts @@ -26,7 +26,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const kibanaServer = getService('kibanaServer'); const esArchiver = getService('esArchiver'); - describe('handling warnings with search source fetch', function () { + // Failing: See https://github.com/elastic/kibana/issues/166484 + describe.skip('handling warnings with search source fetch', function () { const dataViewTitle = 'sample-01,sample-01-rollup'; const fromTime = 'Jun 17, 2022 @ 00:00:00.000'; const toTime = 'Jun 23, 2022 @ 00:00:00.000'; From c95acfc2602f666257f66aa3f4634a7dbb8495c6 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Thu, 14 Sep 2023 16:41:28 -0400 Subject: [PATCH 056/149] skip failing test suite (#166395) --- .../runtime_mappings_saved_search/creation_runtime_mappings.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/transform/creation/runtime_mappings_saved_search/creation_runtime_mappings.ts b/x-pack/test/functional/apps/transform/creation/runtime_mappings_saved_search/creation_runtime_mappings.ts index 3f0adc5783893..ae6ac9adab2f5 100644 --- a/x-pack/test/functional/apps/transform/creation/runtime_mappings_saved_search/creation_runtime_mappings.ts +++ b/x-pack/test/functional/apps/transform/creation/runtime_mappings_saved_search/creation_runtime_mappings.ts @@ -34,7 +34,8 @@ export default function ({ getService }: FtrProviderContext) { }, }; - describe('creation with runtime mappings', function () { + // Failing: See https://github.com/elastic/kibana/issues/166395 + describe.skip('creation with runtime mappings', function () { before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/ml/farequote'); await transform.testResources.createIndexPatternIfNeeded('ft_farequote', '@timestamp'); From 33108a1638d2f153883cfbf6c6127ba7fb051077 Mon Sep 17 00:00:00 2001 From: Gerard Soldevila <gerard.soldevila@elastic.co> Date: Thu, 14 Sep 2023 23:41:10 +0200 Subject: [PATCH 057/149] Remove excessively verbose logs (#166525) Revert #162665 --- .../src/router.ts | 6 ++--- .../integration_tests/http/router.test.ts | 22 +++++++++---------- .../server/services/slo/slo_installer.ts | 4 +--- 3 files changed, 15 insertions(+), 17 deletions(-) diff --git a/packages/core/http/core-http-router-server-internal/src/router.ts b/packages/core/http/core-http-router-server-internal/src/router.ts index 5177464796291..5f7d970bc6bb6 100644 --- a/packages/core/http/core-http-router-server-internal/src/router.ts +++ b/packages/core/http/core-http-router-server-internal/src/router.ts @@ -200,7 +200,7 @@ export class Router<Context extends RequestHandlerContextBase = RequestHandlerCo try { kibanaRequest = CoreKibanaRequest.from(request, routeSchemas); } catch (error) { - this.log.error(`400 Bad Request - ${request.path}`, { + this.log.error(`400 Bad Request`, { http: { response: { status_code: 400 } }, }); @@ -216,7 +216,7 @@ export class Router<Context extends RequestHandlerContextBase = RequestHandlerCo // forward 401 errors from ES client if (isElasticsearchUnauthorizedError(error)) { - this.log.error(`401 Unauthorized - ${request.path}`, { + this.log.error(`401 Unauthorized`, { http: { response: { status_code: 401 } }, }); return hapiResponseAdapter.handle( @@ -225,7 +225,7 @@ export class Router<Context extends RequestHandlerContextBase = RequestHandlerCo } // return a generic 500 to avoid error info / stack trace surfacing - this.log.error(`500 Server Error - ${request.path}`, { + this.log.error(`500 Server Error`, { http: { response: { status_code: 500 } }, }); return hapiResponseAdapter.toInternalError(); diff --git a/src/core/server/integration_tests/http/router.test.ts b/src/core/server/integration_tests/http/router.test.ts index fdfbb76effbcf..5408aea01d373 100644 --- a/src/core/server/integration_tests/http/router.test.ts +++ b/src/core/server/integration_tests/http/router.test.ts @@ -578,7 +578,7 @@ describe('Handler', () => { ); const [message] = loggingSystemMock.collect(logger).error[0]; - expect(message).toEqual('500 Server Error - /'); + expect(message).toEqual('500 Server Error'); }); it('captures the error if handler throws', async () => { @@ -614,7 +614,7 @@ describe('Handler', () => { expect(loggingSystemMock.collect(logger).error).toMatchInlineSnapshot(` Array [ Array [ - "500 Server Error - /", + "500 Server Error", Object { "http": Object { "response": Object { @@ -643,7 +643,7 @@ describe('Handler', () => { expect(loggingSystemMock.collect(logger).error).toMatchInlineSnapshot(` Array [ Array [ - "500 Server Error - /", + "500 Server Error", Object { "http": Object { "response": Object { @@ -687,7 +687,7 @@ describe('Handler', () => { expect(loggingSystemMock.collect(logger).error).toMatchInlineSnapshot(` Array [ Array [ - "400 Bad Request - /", + "400 Bad Request", Object { "http": Object { "response": Object { @@ -1171,7 +1171,7 @@ describe('Response factory', () => { expect(loggingSystemMock.collect(logger).error).toMatchInlineSnapshot(` Array [ Array [ - "500 Server Error - /", + "500 Server Error", Object { "http": Object { "response": Object { @@ -1584,7 +1584,7 @@ describe('Response factory', () => { expect(loggingSystemMock.collect(logger).error).toMatchInlineSnapshot(` Array [ Array [ - "500 Server Error - /", + "500 Server Error", Object { "http": Object { "response": Object { @@ -1660,7 +1660,7 @@ describe('Response factory', () => { expect(loggingSystemMock.collect(logger).error).toMatchInlineSnapshot(` Array [ Array [ - "500 Server Error - /", + "500 Server Error", Object { "http": Object { "response": Object { @@ -1807,7 +1807,7 @@ describe('Response factory', () => { expect(loggingSystemMock.collect(logger).error).toMatchInlineSnapshot(` Array [ Array [ - "500 Server Error - /", + "500 Server Error", Object { "http": Object { "response": Object { @@ -1840,7 +1840,7 @@ describe('Response factory', () => { expect(loggingSystemMock.collect(logger).error).toMatchInlineSnapshot(` Array [ Array [ - "500 Server Error - /", + "500 Server Error", Object { "http": Object { "response": Object { @@ -1872,7 +1872,7 @@ describe('Response factory', () => { expect(loggingSystemMock.collect(logger).error).toMatchInlineSnapshot(` Array [ Array [ - "500 Server Error - /", + "500 Server Error", Object { "http": Object { "response": Object { @@ -1904,7 +1904,7 @@ describe('Response factory', () => { expect(loggingSystemMock.collect(logger).error).toMatchInlineSnapshot(` Array [ Array [ - "500 Server Error - /", + "500 Server Error", Object { "http": Object { "response": Object { diff --git a/x-pack/plugins/observability/server/services/slo/slo_installer.ts b/x-pack/plugins/observability/server/services/slo/slo_installer.ts index d6e8b8295348f..44c2a7752e315 100644 --- a/x-pack/plugins/observability/server/services/slo/slo_installer.ts +++ b/x-pack/plugins/observability/server/services/slo/slo_installer.ts @@ -34,9 +34,7 @@ export class DefaultSLOInstaller implements SLOInstaller { await this.sloResourceInstaller.ensureCommonResourcesInstalled(); await this.sloSummaryInstaller.installAndStart(); } catch (error) { - this.logger.error('Failed to install SLO common resources and summary transforms', { - error, - }); + this.logger.error('Failed to install SLO common resources and summary transforms'); } finally { this.isInstalling = false; clearTimeout(installTimeout); From df996362bd51767a6a777580d70df8f6d89755a5 Mon Sep 17 00:00:00 2001 From: Tomasz Ciecierski <tomasz.ciecierski@elastic.co> Date: Thu, 14 Sep 2023 23:41:42 +0200 Subject: [PATCH 058/149] [EDR Workflows] Change grepFilter destructuring (#166254) --- .../plugins/security_solution/scripts/run_cypress/parallel.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts b/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts index f1b131fc63721..4cb94c1dc814f 100644 --- a/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts +++ b/x-pack/plugins/security_solution/scripts/run_cypress/parallel.ts @@ -128,7 +128,7 @@ ${JSON.stringify(cypressConfigFile, null, 2)} const isGrepReturnedFilePaths = _.isArray(grepSpecPattern); const isGrepReturnedSpecPattern = !isGrepReturnedFilePaths && grepSpecPattern === specPattern; - const { grepFilterSpecs } = cypressConfigFile.env; + const grepFilterSpecs = cypressConfigFile.env?.grepFilterSpecs; // IMPORTANT! // When grep returns the same spec pattern as it gets in its arguments, we treat it as From ca244ecf3464832ef3c2e4982ced302448b150d6 Mon Sep 17 00:00:00 2001 From: Maxim Palenov <maxim.palenov@elastic.co> Date: Fri, 15 Sep 2023 01:31:38 +0200 Subject: [PATCH 059/149] [Security Solution] Prevent rules table auto-refreshing on window focus when auto-refresh disabled (#165250) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit **Fixes: https://github.com/elastic/kibana/issues/165221** ## Summary This PR prevents rules management table from being auto-refreshed on window focus or on reconnect if auto-refresh is disabled. *Before:* Auto-refresh is switched off https://github.com/elastic/kibana/assets/3775283/9536cc47-27b3-424a-a0a6-b3d32d40b9e2 Auto-refresh is switched off AND a rule is selected https://github.com/elastic/kibana/assets/3775283/dbf9c899-85cc-465b-8f78-303ebee0cece *After:* Auto-refresh is switched off https://github.com/elastic/kibana/assets/3775283/e7b98d15-5f33-44dc-b064-1014ec9382f9 Auto-refresh is switched off AND a rule is selected https://github.com/elastic/kibana/assets/3775283/39a8fa9d-a2e8-451c-879b-5c08492518c9 ## 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 ## Flaky test runner [rules_table_auto_refresh.cy.ts (150 runs)](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3027) 🟢 --- .../rules_table/rules_table_context.tsx | 3 + .../rules_table_auto_refresh.cy.ts | 140 ++++++++++++------ .../cypress/tasks/alerts_detection_rules.ts | 28 ++++ .../api_calls/kibana_advanced_settings.ts | 17 +-- .../cypress/tsconfig.json | 3 +- 5 files changed, 133 insertions(+), 58 deletions(-) diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/rules_table/rules_table_context.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/rules_table/rules_table_context.tsx index 791a4b9872fb5..1bf260aff69ed 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/rules_table/rules_table_context.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/rules_table/rules_table_context.tsx @@ -295,6 +295,9 @@ export const RulesTableContextProvider = ({ children }: RulesTableContextProvide pagination, }, { + // We don't need refreshes on windows focus and reconnects if auto-refresh if off + refetchOnWindowFocus: isRefreshOn && !isActionInProgress, + refetchOnReconnect: isRefreshOn && !isActionInProgress, refetchInterval: isRefreshOn && !isActionInProgress && autoRefreshSettings.value, keepPreviousData: true, // Use this option so that the state doesn't jump between "success" and "loading" on page change } diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_auto_refresh.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_auto_refresh.cy.ts index ffcfb468e0824..35e6e596131ec 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_auto_refresh.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/detection_response/rule_management/rules_table/rules_table_auto_refresh.cy.ts @@ -22,6 +22,7 @@ import { expectNumberOfRules, selectRulesByName, getRuleRow, + setRulesTableAutoRefreshIntervalSetting, } from '../../../../tasks/alerts_detection_rules'; import { login, visit, visitWithoutDateRange } from '../../../../tasks/login'; @@ -30,8 +31,7 @@ import { createRule } from '../../../../tasks/api_calls/rules'; import { cleanKibana } from '../../../../tasks/common'; import { getNewRule } from '../../../../objects/rule'; -const DEFAULT_RULE_REFRESH_INTERVAL_VALUE = 60000; -const NUM_OF_TEST_RULES = 6; +const RULES_TABLE_REFRESH_INTERVAL_MS = 60000; // TODO: https://github.com/elastic/kibana/issues/161540 describe( @@ -42,82 +42,128 @@ describe( cleanKibana(); login(); - for (let i = 1; i <= NUM_OF_TEST_RULES; ++i) { - createRule(getNewRule({ name: `Test rule ${i}`, rule_id: `${i}`, enabled: false })); - } + setRulesTableAutoRefreshIntervalSetting({ + enabled: true, + refreshInterval: RULES_TABLE_REFRESH_INTERVAL_MS, + }); + createRule(getNewRule({ name: 'Test rule 1', rule_id: '1', enabled: false })); }); beforeEach(() => { login(); }); - it('Auto refreshes rules', () => { - mockGlobalClock(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + it('gets deactivated when any rule selected and activated after rules unselected', () => { + visit(DETECTIONS_RULE_MANAGEMENT_URL); + + expectNumberOfRules(RULES_MANAGEMENT_TABLE, 1); + + // check refresh settings if it's enabled before selecting + expectAutoRefreshIsEnabled(); + + selectAllRules(); - expectNumberOfRules(RULES_MANAGEMENT_TABLE, NUM_OF_TEST_RULES); + // auto refresh should be deactivated (which means disabled without an ability to enable it) after rules selected + expectAutoRefreshIsDeactivated(); - // // mock 1 minute passing to make sure refresh is conducted - cy.get(RULES_TABLE_AUTOREFRESH_INDICATOR).should('not.exist'); - cy.tick(DEFAULT_RULE_REFRESH_INTERVAL_VALUE); - cy.get(RULES_TABLE_AUTOREFRESH_INDICATOR).should('be.visible'); + clearAllRuleSelection(); - cy.contains(REFRESH_RULES_STATUS, 'Updated now'); + // after all rules unselected, auto refresh should be reset to its previous state + expectAutoRefreshIsEnabled(); }); - it('should prevent table from rules refetch if any rule selected', () => { - mockGlobalClock(); - visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + describe('when enabled', () => { + beforeEach(() => { + mockGlobalClock(); + visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); - expectNumberOfRules(RULES_MANAGEMENT_TABLE, NUM_OF_TEST_RULES); + expectNumberOfRules(RULES_MANAGEMENT_TABLE, 1); + }); - selectRulesByName(['Test rule 1']); + it('refreshes rules after refresh interval has passed', () => { + cy.get(RULES_TABLE_AUTOREFRESH_INDICATOR).should('not.exist'); + cy.tick(RULES_TABLE_REFRESH_INTERVAL_MS); + cy.get(RULES_TABLE_AUTOREFRESH_INDICATOR).should('be.visible'); - // mock 1 minute passing to make sure refresh is not conducted - cy.get(RULES_TABLE_AUTOREFRESH_INDICATOR).should('not.exist'); - cy.tick(DEFAULT_RULE_REFRESH_INTERVAL_VALUE); - cy.get(RULES_TABLE_AUTOREFRESH_INDICATOR).should('not.exist'); + cy.contains(REFRESH_RULES_STATUS, 'Updated now'); + }); - // ensure rule is still selected - getRuleRow('Test rule 1').find(EUI_CHECKBOX).should('be.checked'); + it('refreshes rules on window focus', () => { + cy.tick(RULES_TABLE_REFRESH_INTERVAL_MS / 2); - cy.get(REFRESH_RULES_STATUS).should('have.not.text', 'Updated now'); + cy.window().trigger('blur'); + cy.window().trigger('focus'); + + cy.contains(REFRESH_RULES_STATUS, 'Updated now'); + }); }); - it('should disable auto refresh when any rule selected and enable it after rules unselected', () => { - visit(DETECTIONS_RULE_MANAGEMENT_URL); + describe('when disabled', () => { + beforeEach(() => { + mockGlobalClock(); + visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + expectNumberOfRules(RULES_MANAGEMENT_TABLE, 1); + }); - expectNumberOfRules(RULES_MANAGEMENT_TABLE, NUM_OF_TEST_RULES); + it('does NOT refresh rules after refresh interval has passed', () => { + disableAutoRefresh(); + cy.tick(RULES_TABLE_REFRESH_INTERVAL_MS * 2); // Make sure enough time has passed to verify auto-refresh doesn't happen - // check refresh settings if it's enabled before selecting - expectAutoRefreshIsEnabled(); + cy.contains(REFRESH_RULES_STATUS, 'Updated 2 minutes ago'); + }); - selectAllRules(); + it('does NOT refresh rules on window focus', () => { + disableAutoRefresh(); + cy.tick(RULES_TABLE_REFRESH_INTERVAL_MS * 2); // Make sure enough time has passed to verify auto-refresh doesn't happen - // auto refresh should be deactivated (which means disabled without an ability to enable it) after rules selected - expectAutoRefreshIsDeactivated(); + cy.window().trigger('blur'); + cy.window().trigger('focus'); - clearAllRuleSelection(); + // We need to make sure window focus event doesn't cause refetching. Without some delay + // the following expectations always pass even. It happens since 'focus' event gets handled + // in an async way so the status text is updated with some delay. + // eslint-disable-next-line cypress/no-unnecessary-waiting + cy.wait(1000); - // after all rules unselected, auto refresh should be reset to its previous state - expectAutoRefreshIsEnabled(); - }); + // By using a custom timeout make sure it doesn't wait too long due to global timeout configuration + // so the expected text appears after a refresh and the test passes while it shouldn't. + cy.contains(REFRESH_RULES_STATUS, 'Updated 2 minutes ago', { timeout: 10000 }); + }); - it('should not enable auto refresh after rules were unselected if auto refresh was disabled', () => { - visit(DETECTIONS_RULE_MANAGEMENT_URL); + it('does NOT get enabled after rules were unselected', () => { + disableAutoRefresh(); + cy.tick(RULES_TABLE_REFRESH_INTERVAL_MS * 2); // Make sure enough time has passed to verify auto-refresh doesn't happen - expectNumberOfRules(RULES_MANAGEMENT_TABLE, NUM_OF_TEST_RULES); + selectAllRules(); - disableAutoRefresh(); + expectAutoRefreshIsDeactivated(); - selectAllRules(); + clearAllRuleSelection(); - expectAutoRefreshIsDeactivated(); + // after all rules unselected, auto refresh should still be disabled + expectAutoRefreshIsDisabled(); + }); + }); - clearAllRuleSelection(); + describe('when one rule is selected', () => { + it('does NOT refresh after refresh interval has passed', () => { + mockGlobalClock(); + visitWithoutDateRange(DETECTIONS_RULE_MANAGEMENT_URL); + + expectNumberOfRules(RULES_MANAGEMENT_TABLE, 1); + + selectRulesByName(['Test rule 1']); + + // mock 1 minute passing to make sure refresh is not conducted + cy.get(RULES_TABLE_AUTOREFRESH_INDICATOR).should('not.exist'); + cy.tick(RULES_TABLE_REFRESH_INTERVAL_MS * 2); // Make sure enough time has passed + cy.get(RULES_TABLE_AUTOREFRESH_INDICATOR).should('not.exist'); + + // ensure rule is still selected + getRuleRow('Test rule 1').find(EUI_CHECKBOX).should('be.checked'); - // after all rules unselected, auto refresh should still be disabled - expectAutoRefreshIsDisabled(); + cy.get(REFRESH_RULES_STATUS).should('have.not.text', 'Updated now'); + }); }); } ); diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/alerts_detection_rules.ts b/x-pack/test/security_solution_cypress/cypress/tasks/alerts_detection_rules.ts index cb920e8093be1..304e35e6826bf 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/alerts_detection_rules.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/alerts_detection_rules.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { DEFAULT_RULES_TABLE_REFRESH_SETTING } from '@kbn/security-solution-plugin/common/constants'; import { COLLAPSED_ACTION_BTN, CUSTOM_RULES_BTN, @@ -64,6 +65,7 @@ import { PAGE_CONTENT_SPINNER } from '../screens/common/page'; import { goToRuleEditSettings } from './rule_details'; import { goToActionsStepTab } from './create_new_rule'; +import { setKibanaSetting } from './api_calls/kibana_advanced_settings'; export const getRulesManagementTableRows = () => cy.get(RULES_MANAGEMENT_TABLE).find(RULES_ROW); @@ -516,3 +518,29 @@ const unselectRuleByName = (ruleName: string) => { cy.log(`Make sure rule "${ruleName}" has been unselected`); getRuleRow(ruleName).find(EUI_CHECKBOX).should('not.be.checked'); }; + +/** + * Set Kibana `securitySolution:rulesTableRefresh` setting looking like + * + * ``` + * { "on": true, "value": 60000 } + * ``` + * + * @param enabled whether the auto-refresh is enabled + * @param refreshInterval refresh interval in milliseconds + */ +export const setRulesTableAutoRefreshIntervalSetting = ({ + enabled, + refreshInterval, +}: { + enabled: boolean; + refreshInterval: number; // milliseconds +}) => { + setKibanaSetting( + DEFAULT_RULES_TABLE_REFRESH_SETTING, + JSON.stringify({ + on: enabled, + value: refreshInterval, + }) + ); +}; diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/kibana_advanced_settings.ts b/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/kibana_advanced_settings.ts index f86cd0186c8c2..2c982adad5275 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/kibana_advanced_settings.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/kibana_advanced_settings.ts @@ -5,30 +5,27 @@ * 2.0. */ +import { SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID } from '@kbn/management-settings-ids'; +import { ENABLE_EXPANDABLE_FLYOUT_SETTING } from '@kbn/security-solution-plugin/common/constants'; import { rootRequest } from '../common'; -const kibanaSettings = (body: Cypress.RequestBody) => { +export const setKibanaSetting = (key: string, value: boolean | number | string) => { rootRequest({ method: 'POST', url: 'internal/kibana/settings', - body, + body: { changes: { [key]: value } }, headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, }); }; -const relatedIntegrationsBody = (status: boolean): Cypress.RequestBody => { - return { changes: { 'securitySolution:showRelatedIntegrations': status } }; -}; - export const enableRelatedIntegrations = () => { - kibanaSettings(relatedIntegrationsBody(true)); + setKibanaSetting(SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID, true); }; export const disableRelatedIntegrations = () => { - kibanaSettings(relatedIntegrationsBody(false)); + setKibanaSetting(SECURITY_SOLUTION_SHOW_RELATED_INTEGRATIONS_ID, false); }; export const disableExpandableFlyout = () => { - const body = { changes: { 'securitySolution:enableExpandableFlyout': false } }; - kibanaSettings(body); + setKibanaSetting(ENABLE_EXPANDABLE_FLYOUT_SETTING, false); }; diff --git a/x-pack/test/security_solution_cypress/cypress/tsconfig.json b/x-pack/test/security_solution_cypress/cypress/tsconfig.json index ec9ce83a98f03..b82ce28aa8f04 100644 --- a/x-pack/test/security_solution_cypress/cypress/tsconfig.json +++ b/x-pack/test/security_solution_cypress/cypress/tsconfig.json @@ -37,6 +37,7 @@ "@kbn/config-schema", "@kbn/lists-plugin", "@kbn/securitysolution-list-constants", - "@kbn/security-plugin" + "@kbn/security-plugin", + "@kbn/management-settings-ids" ] } From 4439ced74f320b262ca3383a3b10ef32fb8cfcad Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Fri, 15 Sep 2023 01:03:13 -0400 Subject: [PATCH 060/149] [api-docs] 2023-09-15 Daily api_docs build (#166555) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/461 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.mdx | 2 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.devdocs.json | 8 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.devdocs.json | 218 ++++-------- api_docs/data.mdx | 4 +- api_docs/data_query.mdx | 4 +- api_docs/data_search.devdocs.json | 103 +++++- api_docs/data_search.mdx | 4 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.devdocs.json | 96 +++--- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 16 +- api_docs/deprecations_by_plugin.mdx | 6 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.devdocs.json | 61 ---- api_docs/infra.mdx | 4 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- .../kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- ..._analytics_shippers_elastic_v3_browser.mdx | 2 +- ...n_analytics_shippers_elastic_v3_common.mdx | 2 +- ...n_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- ..._core_custom_branding_browser_internal.mdx | 2 +- ...kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- ...n_core_custom_branding_server_internal.mdx | 2 +- .../kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.devdocs.json | 120 +++---- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- .../kbn_core_saved_objects_api_browser.mdx | 2 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...aved_objects_migration_server_internal.mdx | 2 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- ...kbn_core_saved_objects_server.devdocs.json | 8 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- ...kbn_core_user_settings_server_internal.mdx | 2 +- .../kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.devdocs.json | 94 ++++++ api_docs/kbn_es_types.mdx | 4 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- .../kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- ...gement_settings_components_field_input.mdx | 2 +- ...nagement_settings_components_field_row.mdx | 2 +- ...n_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- .../kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- .../kbn_search_response_warnings.devdocs.json | 89 ++--- api_docs/kbn_search_response_warnings.mdx | 4 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- .../kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- ...ared_ux_avatar_user_profile_components.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- ...hared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.devdocs.json | 12 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.devdocs.json | 319 ++++++++++++++++++ api_docs/metrics_data_access.mdx | 39 +++ api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- .../observability_onboarding.devdocs.json | 47 +++ api_docs/observability_onboarding.mdx | 4 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 19 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.devdocs.json | 49 ++- api_docs/spaces.mdx | 4 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.devdocs.json | 4 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 601 files changed, 1465 insertions(+), 1025 deletions(-) create mode 100644 api_docs/metrics_data_access.devdocs.json create mode 100644 api_docs/metrics_data_access.mdx diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 35093363d3dbc..056a78ee2ce68 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index a93afa2822200..6c2bef6b38da7 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index df636eddf2fb0..11a9d8bd61b58 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index eb8b14a66c29e..055efa222912d 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 8d11f15439375..670af68a4d436 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index 64ae8eec8edd0..5c660cc86ee27 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 81ac546db1f45..724b58bbd52bc 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 58ad99d1ad05d..1209ffec44405 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 95a9b7a35ee67..240a82282dc6a 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index ae4f9906f81c1..c84dc6f53e8a0 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index cd313321fc84c..c6db93fb939e5 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index 066ebf6eaa6d0..da175f81604f1 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.devdocs.json b/api_docs/cloud.devdocs.json index ea1d5a9f36d07..c9f43718fec8d 100644 --- a/api_docs/cloud.devdocs.json +++ b/api_docs/cloud.devdocs.json @@ -191,7 +191,7 @@ "label": "serverless", "description": [], "signature": [ - "{ project_id: string; } | undefined" + "{ project_id: string; project_name?: string | undefined; } | undefined" ], "path": "x-pack/plugins/cloud/public/plugin.tsx", "deprecated": false, @@ -454,7 +454,7 @@ "\nServerless configuration" ], "signature": [ - "{ projectId?: string | undefined; }" + "{ projectId?: string | undefined; projectName?: string | undefined; }" ], "path": "x-pack/plugins/cloud/public/types.ts", "deprecated": false, @@ -790,7 +790,7 @@ "\nServerless configuration" ], "signature": [ - "{ projectId?: string | undefined; }" + "{ projectId?: string | undefined; projectName?: string | undefined; }" ], "path": "x-pack/plugins/cloud/public/types.ts", "deprecated": false, @@ -1053,7 +1053,7 @@ "\nServerless configuration.\n" ], "signature": [ - "{ projectId?: string | undefined; }" + "{ projectId?: string | undefined; projectName?: string | undefined; }" ], "path": "x-pack/plugins/cloud/server/plugin.ts", "deprecated": false, diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 7490751ff56f9..3132a3eb15956 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 00aa0e12d4d06..af939f7fa2c25 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 492d34e66c3fb..d11f74ddd830b 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 3e5dad06541d4..6fb2d08c94b8f 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 0f1e93445d99e..e65989801251e 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 5a897679a94aa..608dcab603af8 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index db26f11574c87..094e9107d681a 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 1ed549faca80a..5bef88e85167a 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 3e189bf8b3ec3..0ff02c31a658d 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 878b8803dc482..8da4be621fce8 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index d723a7d4e437e..7bf4bc6b386ae 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index c6dca702c096a..2a15ea36e73b9 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 0caf30d26e0ac..79b8bd5b1cb89 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index 84b3aa93242c4..9e9f9e9eff6bb 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -5147,36 +5147,31 @@ }, { "parentPluginId": "data", - "id": "def-public.parseSearchSourceJSON", + "id": "def-public.OpenIncompleteResultsModalButton", "type": "Function", "tags": [], - "label": "parseSearchSourceJSON", + "label": "OpenIncompleteResultsModalButton", "description": [], "signature": [ - "(searchSourceJSON: string) => ", - { - "pluginId": "data", - "scope": "common", - "docId": "kibDataSearchPluginApi", - "section": "def-common.SerializedSearchSourceFields", - "text": "SerializedSearchSourceFields" - } + "(props: ", + "OpenIncompleteResultsModalButtonProps", + ") => JSX.Element" ], - "path": "src/plugins/data/common/search/search_source/parse_json.ts", + "path": "src/plugins/data/public/incomplete_results_modal/index.tsx", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-public.parseSearchSourceJSON.$1", - "type": "string", + "id": "def-public.OpenIncompleteResultsModalButton.$1", + "type": "Object", "tags": [], - "label": "searchSourceJSON", + "label": "props", "description": [], "signature": [ - "string" + "OpenIncompleteResultsModalButtonProps" ], - "path": "src/plugins/data/common/search/search_source/parse_json.ts", + "path": "src/plugins/data/public/incomplete_results_modal/index.tsx", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -5187,31 +5182,36 @@ }, { "parentPluginId": "data", - "id": "def-public.ShardFailureOpenModalButton", + "id": "def-public.parseSearchSourceJSON", "type": "Function", "tags": [], - "label": "ShardFailureOpenModalButton", + "label": "parseSearchSourceJSON", "description": [], "signature": [ - "(props: ", - "ShardFailureOpenModalButtonProps", - ") => JSX.Element" + "(searchSourceJSON: string) => ", + { + "pluginId": "data", + "scope": "common", + "docId": "kibDataSearchPluginApi", + "section": "def-common.SerializedSearchSourceFields", + "text": "SerializedSearchSourceFields" + } ], - "path": "src/plugins/data/public/shard_failure_modal/index.tsx", + "path": "src/plugins/data/common/search/search_source/parse_json.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "data", - "id": "def-public.ShardFailureOpenModalButton.$1", - "type": "Object", + "id": "def-public.parseSearchSourceJSON.$1", + "type": "string", "tags": [], - "label": "props", + "label": "searchSourceJSON", "description": [], "signature": [ - "ShardFailureOpenModalButtonProps" + "string" ], - "path": "src/plugins/data/public/shard_failure_modal/index.tsx", + "path": "src/plugins/data/common/search/search_source/parse_json.ts", "deprecated": false, "trackAdoption": false, "isRequired": true @@ -9595,104 +9595,6 @@ } ], "initialIsOpen": false - }, - { - "parentPluginId": "data", - "id": "def-public.ShardFailureRequest", - "type": "Interface", - "tags": [], - "label": "ShardFailureRequest", - "description": [], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "data", - "id": "def-public.ShardFailureRequest.docvalue_fields", - "type": "Array", - "tags": [], - "label": "docvalue_fields", - "description": [], - "signature": [ - "string[]" - ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.ShardFailureRequest._source", - "type": "Unknown", - "tags": [], - "label": "_source", - "description": [], - "signature": [ - "unknown" - ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.ShardFailureRequest.query", - "type": "Unknown", - "tags": [], - "label": "query", - "description": [], - "signature": [ - "unknown" - ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.ShardFailureRequest.script_fields", - "type": "Unknown", - "tags": [], - "label": "script_fields", - "description": [], - "signature": [ - "unknown" - ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.ShardFailureRequest.sort", - "type": "Unknown", - "tags": [], - "label": "sort", - "description": [], - "signature": [ - "unknown" - ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "data", - "id": "def-public.ShardFailureRequest.stored_fields", - "type": "Array", - "tags": [], - "label": "stored_fields", - "description": [], - "signature": [ - "string[]" - ], - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false } ], "enums": [ @@ -10152,7 +10054,7 @@ "section": "def-common.TimeRange", "text": "TimeRange" }, - " | undefined; disableShardWarnings?: boolean | undefined; }" + " | undefined; disableWarningToasts?: boolean | undefined; }" ], "path": "src/plugins/data/common/search/expressions/kibana_context_type.ts", "deprecated": false, @@ -13803,18 +13705,6 @@ "plugin": "timelines", "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" - }, { "plugin": "apm", "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" @@ -13923,6 +13813,18 @@ "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/persistence.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/sourcerer/create_sourcerer_data_view.ts" @@ -14812,14 +14714,14 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" @@ -21544,18 +21446,6 @@ "plugin": "timelines", "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" - }, { "plugin": "apm", "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" @@ -21664,6 +21554,18 @@ "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/persistence.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/sourcerer/create_sourcerer_data_view.ts" @@ -22553,14 +22455,14 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index f9e0407c3fd9b..97dc4fc5d0b01 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3311 | 33 | 2584 | 26 | +| 3308 | 33 | 2577 | 24 | ## Client diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index fb06d06c4cdcb..460b0494a1c73 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3311 | 33 | 2584 | 26 | +| 3308 | 33 | 2577 | 24 | ## Client diff --git a/api_docs/data_search.devdocs.json b/api_docs/data_search.devdocs.json index ceb9136800672..f3cf4a4662778 100644 --- a/api_docs/data_search.devdocs.json +++ b/api_docs/data_search.devdocs.json @@ -915,6 +915,75 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "data", + "id": "def-public.SearchResponseIncompleteWarning", + "type": "Interface", + "tags": [], + "label": "SearchResponseIncompleteWarning", + "description": [ + "\nA warning object for a search response with incomplete ES results\nES returns incomplete results when:\n1) Set timeout flag on search and the timeout expires on cluster\n2) Some shard failures on a cluster\n3) skipped remote(s) (skip_unavailable=true)\n a. all shards failed\n b. disconnected/not-connected" + ], + "path": "src/plugins/data/public/search/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "data", + "id": "def-public.SearchResponseIncompleteWarning.type", + "type": "string", + "tags": [], + "label": "type", + "description": [ + "\ntype: for sorting out incomplete warnings" + ], + "signature": [ + "\"incomplete\"" + ], + "path": "src/plugins/data/public/search/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.SearchResponseIncompleteWarning.message", + "type": "string", + "tags": [], + "label": "message", + "description": [ + "\nmessage: human-friendly message" + ], + "path": "src/plugins/data/public/search/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-public.SearchResponseIncompleteWarning.clusters", + "type": "Object", + "tags": [], + "label": "clusters", + "description": [ + "\nclusters: cluster details." + ], + "signature": [ + "{ [x: string]: ", + { + "pluginId": "@kbn/es-types", + "scope": "common", + "docId": "kibKbnEsTypesPluginApi", + "section": "def-common.ClusterDetails", + "text": "ClusterDetails" + }, + "; }" + ], + "path": "src/plugins/data/public/search/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "data", "id": "def-public.SearchSessionInfoProvider", @@ -1448,9 +1517,13 @@ "\nA warning object for a search response with warnings" ], "signature": [ - "SearchResponseTimeoutWarning", - " | ", - "SearchResponseShardFailureWarning" + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataSearchPluginApi", + "section": "def-public.SearchResponseIncompleteWarning", + "text": "SearchResponseIncompleteWarning" + } ], "path": "src/plugins/data/public/search/types.ts", "deprecated": false, @@ -7144,7 +7217,7 @@ "section": "def-common.RequestAdapter", "text": "RequestAdapter" }, - " | undefined, abortSignal?: AbortSignal | undefined, searchSessionId?: string | undefined, disableShardFailureWarning?: boolean | undefined) => Promise<", + " | undefined, abortSignal?: AbortSignal | undefined, searchSessionId?: string | undefined, disableWarningToasts?: boolean | undefined) => Promise<", "SearchResponse", "<any, Record<string, ", "AggregationsAggregate", @@ -7512,7 +7585,7 @@ "id": "def-common.AggType.postFlightRequest.$8", "type": "CompoundType", "tags": [], - "label": "disableShardFailureWarning", + "label": "disableWarningToasts", "description": [], "signature": [ "boolean | undefined" @@ -15445,7 +15518,7 @@ "label": "handleRequest", "description": [], "signature": [ - "({ abortSignal, aggs, filters, indexPattern, inspectorAdapters, query, searchSessionId, searchSourceService, timeFields, timeRange, disableShardWarnings, getNow, executionContext, title, description, }: ", + "({ abortSignal, aggs, filters, indexPattern, inspectorAdapters, query, searchSessionId, searchSourceService, timeFields, timeRange, disableWarningToasts, getNow, executionContext, title, description, }: ", { "pluginId": "data", "scope": "common", @@ -15474,7 +15547,7 @@ "id": "def-common.handleRequest.$1", "type": "Object", "tags": [], - "label": "{\n abortSignal,\n aggs,\n filters,\n indexPattern,\n inspectorAdapters,\n query,\n searchSessionId,\n searchSourceService,\n timeFields,\n timeRange,\n disableShardWarnings,\n getNow,\n executionContext,\n title,\n description,\n}", + "label": "{\n abortSignal,\n aggs,\n filters,\n indexPattern,\n inspectorAdapters,\n query,\n searchSessionId,\n searchSourceService,\n timeFields,\n timeRange,\n disableWarningToasts,\n getNow,\n executionContext,\n title,\n description,\n}", "description": [], "signature": [ { @@ -29385,10 +29458,10 @@ }, { "parentPluginId": "data", - "id": "def-common.RequestHandlerParams.disableShardWarnings", + "id": "def-common.RequestHandlerParams.disableWarningToasts", "type": "CompoundType", "tags": [], - "label": "disableShardWarnings", + "label": "disableWarningToasts", "description": [], "signature": [ "boolean | undefined" @@ -30742,12 +30815,12 @@ }, { "parentPluginId": "data", - "id": "def-common.SearchSourceSearchOptions.disableShardFailureWarning", + "id": "def-common.SearchSourceSearchOptions.disableWarningToasts", "type": "CompoundType", "tags": [], - "label": "disableShardFailureWarning", + "label": "disableWarningToasts", "description": [ - "\nDisable default warnings of shard failures" + "\nSet to true to disable warning toasts and customize warning display" ], "signature": [ "boolean | undefined" @@ -32624,7 +32697,7 @@ "section": "def-common.TimeRange", "text": "TimeRange" }, - " | undefined; disableShardWarnings?: boolean | undefined; }" + " | undefined; disableWarningToasts?: boolean | undefined; }" ], "path": "src/plugins/data/common/search/expressions/kibana_context_type.ts", "deprecated": false, @@ -40876,7 +40949,7 @@ "section": "def-common.TimeRange", "text": "TimeRange" }, - " | undefined; disableShardWarnings?: boolean | undefined; }" + " | undefined; disableWarningToasts?: boolean | undefined; }" ], "path": "src/plugins/data/common/search/expressions/remove_filter.ts", "deprecated": false, @@ -41219,7 +41292,7 @@ "section": "def-common.TimeRange", "text": "TimeRange" }, - " | undefined; disableShardWarnings?: boolean | undefined; }" + " | undefined; disableWarningToasts?: boolean | undefined; }" ], "path": "src/plugins/data/common/search/expressions/select_filter.ts", "deprecated": false, diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 944b619382ea2..3a62c8e86f322 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3311 | 33 | 2584 | 26 | +| 3308 | 33 | 2577 | 24 | ## Client diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index fa9203fb90d79..1aa85705082da 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index e4e3ad1de217a..2ec8cb899dbf0 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index b811c9f7bdee3..824f1d3206ca2 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index 70cff55c9937b..129b6b38fa957 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -491,18 +491,6 @@ "plugin": "timelines", "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" - }, { "plugin": "apm", "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" @@ -611,6 +599,18 @@ "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/persistence.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/sourcerer/create_sourcerer_data_view.ts" @@ -1520,14 +1520,14 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" @@ -8480,18 +8480,6 @@ "plugin": "timelines", "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" - }, { "plugin": "apm", "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" @@ -8600,6 +8588,18 @@ "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/persistence.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/sourcerer/create_sourcerer_data_view.ts" @@ -9509,14 +9509,14 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" @@ -15530,18 +15530,6 @@ "plugin": "timelines", "path": "x-pack/plugins/timelines/server/search_strategy/index_fields/index.ts" }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" - }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" - }, { "plugin": "apm", "path": "x-pack/plugins/apm/server/routes/data_view/create_static_data_view.ts" @@ -15650,6 +15638,18 @@ "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/persistence.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/common/index_patterns_utils.ts" + }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/get_fields.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/sourcerer/create_sourcerer_data_view.ts" @@ -16559,14 +16559,14 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" - }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/services/persistence/deserialize.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/lib/search_strategies/strategies/abstract_search_strategy.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/public/state_management/datasource.test.ts" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 500cebeadf386..0a92967ff2187 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index 9af2e6b0de77c..a56784600ffd1 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 33efb0098898e..d305bd859a9ee 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -18,9 +18,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | ---------------|-----------|-----------| | <DocLink id="kibAlertingPluginApi" section="def-public.PluginSetupContract.registerNavigation" text="registerNavigation"/> | ml, stackAlerts | - | | <DocLink id="kibAlertingPluginApi" section="def-server.RuleExecutorServices.alertFactory" text="alertFactory"/> | ruleRegistry, ml, securitySolution, observability, infra, monitoring, stackAlerts, synthetics, transform, uptime | - | -| <DocLink id="kibDataPluginApi" section="def-common.DataView.title" text="title"/> | @kbn/es-query, @kbn/visualization-ui-components, securitySolution, observability, timelines, lists, threatIntelligence, savedSearch, dataViews, logsShared, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, dataVisualizer, ml, visTypeTimeseries, apm, exploratoryView, fleet, stackAlerts, infra, canvas, enterpriseSearch, graph, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | -| <DocLink id="kibDataPluginApi" section="def-server.DataView.title" text="title"/> | @kbn/es-query, @kbn/visualization-ui-components, securitySolution, observability, timelines, lists, threatIntelligence, savedSearch, dataViews, logsShared, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, dataVisualizer, ml, visTypeTimeseries, apm, exploratoryView, fleet, stackAlerts, infra, canvas, enterpriseSearch, graph, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | -| <DocLink id="kibDataViewsPluginApi" section="def-public.DataView.title" text="title"/> | @kbn/es-query, @kbn/visualization-ui-components, securitySolution, observability, timelines, lists, threatIntelligence, savedSearch, data, logsShared, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, dataVisualizer, ml, visTypeTimeseries, apm, exploratoryView, fleet, stackAlerts, infra, canvas, enterpriseSearch, graph, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega | - | +| <DocLink id="kibDataPluginApi" section="def-common.DataView.title" text="title"/> | @kbn/es-query, @kbn/visualization-ui-components, securitySolution, observability, timelines, lists, threatIntelligence, savedSearch, dataViews, logsShared, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, dataVisualizer, ml, apm, exploratoryView, fleet, stackAlerts, infra, canvas, enterpriseSearch, graph, visTypeTimeseries, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | +| <DocLink id="kibDataPluginApi" section="def-server.DataView.title" text="title"/> | @kbn/es-query, @kbn/visualization-ui-components, securitySolution, observability, timelines, lists, threatIntelligence, savedSearch, dataViews, logsShared, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, dataVisualizer, ml, apm, exploratoryView, fleet, stackAlerts, infra, canvas, enterpriseSearch, graph, visTypeTimeseries, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega, data | - | +| <DocLink id="kibDataViewsPluginApi" section="def-public.DataView.title" text="title"/> | @kbn/es-query, @kbn/visualization-ui-components, securitySolution, observability, timelines, lists, threatIntelligence, savedSearch, data, logsShared, savedObjectsManagement, unifiedSearch, controls, @kbn/unified-field-list, @kbn/event-annotation-components, lens, triggersActionsUi, dataVisualizer, ml, apm, exploratoryView, fleet, stackAlerts, infra, canvas, enterpriseSearch, graph, visTypeTimeseries, transform, upgradeAssistant, uptime, ux, maps, dataViewManagement, inputControlVis, visDefaultEditor, presentationUtil, visTypeTimelion, visTypeVega | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.RedirectAppLinks" text="RedirectAppLinks"/> | home, data, esUiShared, savedObjectsManagement, ml, exploratoryView, fleet, observability, apm, indexLifecycleManagement, observabilityOnboarding, synthetics, upgradeAssistant, uptime, ux, kibanaOverview | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.KibanaThemeProvider" text="KibanaThemeProvider"/> | share, uiActions, guidedOnboarding, home, management, spaces, security, savedObjects, indexManagement, serverless, visualizations, controls, dashboard, savedObjectsTagging, expressionXY, lens, expressionMetricVis, expressionGauge, alerting, triggersActionsUi, cases, licenseManagement, advancedSettings, maps, dataVisualizer, aiops, ml, exploratoryView, fleet, observability, infra, profiling, apm, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, crossClusterReplication, enterpriseSearch, globalSearchBar, graph, grokdebugger, indexLifecycleManagement, ingestPipelines, logstash, monitoring, observabilityOnboarding, osquery, devTools, painlessLab, remoteClusters, rollup, searchprofiler, newsfeed, securitySolution, snapshotRestore, synthetics, transform, upgradeAssistant, uptime, ux, watcher, cloudDataMigration, console, filesManagement, kibanaOverview, visDefaultEditor, expressionHeatmap, expressionLegacyMetricVis, expressionPartitionVis, expressionTagcloud, visTypeTable, visTypeTimelion, visTypeTimeseries, visTypeVega, visTypeVislib | - | | <DocLink id="kibSecurityPluginApi" section="def-server.SecurityPluginSetup.authc" text="authc"/> | encryptedSavedObjects, actions, data, ml, securitySolution, logstash, cloudChat | - | @@ -45,7 +45,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibTimelinesPluginApi" section="def-common.IndexFieldsStrategyRequest" text="IndexFieldsStrategyRequest"/> | securitySolution | - | | <DocLink id="kibTimelinesPluginApi" section="def-common.IndexFieldsStrategyResponse" text="IndexFieldsStrategyResponse"/> | securitySolution | - | | <DocLink id="kibKbnCoreSavedObjectsCommonPluginApi" section="def-common.SavedObject" text="SavedObject"/> | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjectsTaggingOss, savedObjectsTagging, securitySolution, lists, upgradeAssistant, savedObjectsManagement, @kbn/core-saved-objects-api-server, @kbn/core-saved-objects-import-export-server-internal, home, canvas, savedObjects, @kbn/core-saved-objects-browser-mocks, @kbn/core-ui-settings-server-internal | - | -| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-common.SavedObjectsType.convertToMultiNamespaceTypeVersion" text="convertToMultiNamespaceTypeVersion"/> | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, lens, lists, cases, savedObjectsTagging, securitySolution, visualizations, savedSearch, canvas, graph, maps, dashboard, @kbn/core-test-helpers-so-type-serializer | - | +| <DocLink id="kibKbnCoreSavedObjectsServerPluginApi" section="def-common.SavedObjectsType.convertToMultiNamespaceTypeVersion" text="convertToMultiNamespaceTypeVersion"/> | @kbn/core-saved-objects-migration-server-internal, actions, dataViews, data, alerting, lens, lists, cases, savedObjectsTagging, securitySolution, savedSearch, canvas, graph, visualizations, maps, dashboard, @kbn/core-test-helpers-so-type-serializer | - | | <DocLink id="kibKbnSecuritysolutionListConstantsPluginApi" section="def-common.ENDPOINT_TRUSTED_APPS_LIST_ID" text="ENDPOINT_TRUSTED_APPS_LIST_ID"/> | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | | <DocLink id="kibKbnSecuritysolutionListConstantsPluginApi" section="def-common.ENDPOINT_TRUSTED_APPS_LIST_NAME" text="ENDPOINT_TRUSTED_APPS_LIST_NAME"/> | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | | <DocLink id="kibKbnSecuritysolutionListConstantsPluginApi" section="def-common.ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION" text="ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION"/> | lists, securitySolution, @kbn/securitysolution-io-ts-list-types | - | @@ -98,9 +98,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibKbnCoreSavedObjectsApiBrowserPluginApi" section="def-common.SavedObjectsBulkDeleteResponse" text="SavedObjectsBulkDeleteResponse"/> | @kbn/core-saved-objects-browser-internal | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.KibanaPageTemplate" text="KibanaPageTemplate"/> | home, osquery | - | | <DocLink id="kibKbnCoreSavedObjectsBrowserInternalPluginApi" section="def-common.SavedObjectsService" text="SavedObjectsService"/> | @kbn/core-root-browser-internal, @kbn/core-saved-objects-browser-mocks | - | -| <DocLink id="kibDataPluginApi" section="def-common.DataView.getNonScriptedFields" text="getNonScriptedFields"/> | visTypeTimeseries, graph, dataViewManagement, dataViews | - | -| <DocLink id="kibDataPluginApi" section="def-server.DataView.getNonScriptedFields" text="getNonScriptedFields"/> | visTypeTimeseries, graph, dataViewManagement, dataViews | - | -| <DocLink id="kibDataViewsPluginApi" section="def-public.DataView.getNonScriptedFields" text="getNonScriptedFields"/> | visTypeTimeseries, graph, dataViewManagement | - | +| <DocLink id="kibDataPluginApi" section="def-common.DataView.getNonScriptedFields" text="getNonScriptedFields"/> | graph, visTypeTimeseries, dataViewManagement, dataViews | - | +| <DocLink id="kibDataPluginApi" section="def-server.DataView.getNonScriptedFields" text="getNonScriptedFields"/> | graph, visTypeTimeseries, dataViewManagement, dataViews | - | +| <DocLink id="kibDataViewsPluginApi" section="def-public.DataView.getNonScriptedFields" text="getNonScriptedFields"/> | graph, visTypeTimeseries, dataViewManagement | - | | <DocLink id="kibSavedObjectsFinderPluginApi" section="def-public.SavedObjectMetaData.includeFields" text="includeFields"/> | visualizations, graph | - | | <DocLink id="kibKbnCoreSavedObjectsBrowserMocksPluginApi" section="def-common.simpleSavedObjectMock" text="simpleSavedObjectMock"/> | @kbn/core, lens, savedObjects | - | | <DocLink id="kibDataPluginApi" section="def-common.DataView.flattenHit" text="flattenHit"/> | dataViews, maps | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index d913f540e4fed..e730f1ed9bd28 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -573,7 +573,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibDataViewsPluginApi" section="def-public.DataView.title" text="title"/> | [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [rare_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/rare_terms.test.ts#:~:text=title)+ 3 more | - | | <DocLink id="kibDataViewsPluginApi" section="def-common.DataView.title" text="title"/> | [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [rare_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/rare_terms.test.ts#:~:text=title)+ 3 more | - | | <DocLink id="kibDataViewsPluginApi" section="def-server.DataView.title" text="title"/> | [get_display_value.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/query/filter_manager/lib/get_display_value.ts#:~:text=title), [inspector_stats.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/search_source/inspect/inspector_stats.ts#:~:text=title), [response_writer.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/tabify/response_writer.ts#:~:text=title), [painless_error.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/errors/painless_error.tsx#:~:text=title), [field.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/param_types/field.ts#:~:text=title), [agg_config.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/agg_config.test.ts#:~:text=title), [_terms_other_bucket_helper.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/_terms_other_bucket_helper.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [multi_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/multi_terms.test.ts#:~:text=title), [rare_terms.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/common/search/aggs/buckets/rare_terms.test.ts#:~:text=title)+ 3 more | - | -| <DocLink id="kibKibanaReactPluginApi" section="def-public.toMountPoint" text="toMountPoint"/> | [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [shard_failure_open_modal_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.tsx#:~:text=toMountPoint), [shard_failure_open_modal_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.tsx#:~:text=toMountPoint), [handle_warnings.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/fetch/handle_warnings.tsx#:~:text=toMountPoint), [handle_warnings.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/fetch/handle_warnings.tsx#:~:text=toMountPoint), [delete_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/components/actions/delete_button.tsx#:~:text=toMountPoint), [delete_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/components/actions/delete_button.tsx#:~:text=toMountPoint)+ 8 more | - | +| <DocLink id="kibKibanaReactPluginApi" section="def-public.toMountPoint" text="toMountPoint"/> | [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [search_interceptor.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/search_interceptor/search_interceptor.ts#:~:text=toMountPoint), [open_incomplete_results_modal_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/incomplete_results_modal/open_incomplete_results_modal_button.tsx#:~:text=toMountPoint), [open_incomplete_results_modal_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/incomplete_results_modal/open_incomplete_results_modal_button.tsx#:~:text=toMountPoint), [handle_warnings.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/fetch/handle_warnings.tsx#:~:text=toMountPoint), [handle_warnings.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/fetch/handle_warnings.tsx#:~:text=toMountPoint), [delete_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/components/actions/delete_button.tsx#:~:text=toMountPoint), [delete_button.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/components/actions/delete_button.tsx#:~:text=toMountPoint)+ 8 more | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.RedirectAppLinks" text="RedirectAppLinks"/> | [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [get_columns.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/sessions_mgmt/lib/get_columns.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks), [connected_search_session_indicator.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/search/session/session_indicator/connected_search_session_indicator/connected_search_session_indicator.tsx#:~:text=RedirectAppLinks) | - | | <DocLink id="kibSecurityPluginApi" section="def-server.SecurityPluginSetup.authc" text="authc"/> | [session_service.ts](https://github.com/elastic/kibana/tree/main/src/plugins/data/server/search/session/session_service.ts#:~:text=authc) | - | | <DocLink id="kibUiActionsPluginApi" section="def-public.UiActionsService.executeTriggerActions" text="executeTriggerActions"/> | [data_table.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/utils/table_inspector_view/components/data_table.tsx#:~:text=executeTriggerActions), [data_table.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/data/public/utils/table_inspector_view/components/data_table.tsx#:~:text=executeTriggerActions) | - | @@ -1564,7 +1564,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | ---------------|-----------|-----------| | <DocLink id="kibAlertingPluginApi" section="def-server.RuleExecutorServices.alertFactory" text="alertFactory"/> | [common.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/server/alert_rules/common.ts#:~:text=alertFactory), [message_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/server/alert_rules/tls_rule/message_utils.ts#:~:text=alertFactory), [tls_rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/server/alert_rules/tls_rule/tls_rule.ts#:~:text=alertFactory), [monitor_status_rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/server/alert_rules/status_rule/monitor_status_rule.ts#:~:text=alertFactory) | - | | <DocLink id="kibDiscoverPluginApi" section="def-common.DiscoverAppLocatorParams.indexPatternId" text="indexPatternId"/> | [stderr_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/common/components/stderr_logs.tsx#:~:text=indexPatternId) | - | -| <DocLink id="kibKibanaReactPluginApi" section="def-public.toMountPoint" text="toMountPoint"/> | [toast_title.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx#:~:text=toMountPoint), [toast_title.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx#:~:text=toMountPoint), [delete_monitor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx#:~:text=toMountPoint), [delete_monitor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx#:~:text=toMountPoint), [delete_monitor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx#:~:text=toMountPoint), [browser_test_results.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx#:~:text=toMountPoint), [browser_test_results.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx#:~:text=toMountPoint), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=toMountPoint), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=toMountPoint), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=toMountPoint)+ 6 more | - | +| <DocLink id="kibKibanaReactPluginApi" section="def-public.toMountPoint" text="toMountPoint"/> | [toast_title.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx#:~:text=toMountPoint), [toast_title.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx#:~:text=toMountPoint), [browser_test_results.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx#:~:text=toMountPoint), [browser_test_results.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx#:~:text=toMountPoint), [delete_monitor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx#:~:text=toMountPoint), [delete_monitor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx#:~:text=toMountPoint), [delete_monitor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx#:~:text=toMountPoint), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=toMountPoint), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=toMountPoint), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=toMountPoint)+ 6 more | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.RedirectAppLinks" text="RedirectAppLinks"/> | [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=RedirectAppLinks), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=RedirectAppLinks), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=RedirectAppLinks) | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.KibanaThemeProvider" text="KibanaThemeProvider"/> | [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=KibanaThemeProvider), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=KibanaThemeProvider), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=KibanaThemeProvider) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 315c8c78a8917..069a3c7e130f6 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 0cd62fa26270d..8b4cff76746b9 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 015dcbce6b836..a9646c679e0af 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 4a1da36700607..1cb76cead8135 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index a5322683fb44b..41c13840a7b14 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index a86798d4d29b8..a6f1a0e900419 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 1738d56ba1509..aa6f44a6dd30d 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 92f129b847ad9..54c34f6bb630a 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index badf64955f4b2..f63d8194d6ee0 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 3799a6ca4878b..44c59c446c2ed 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index aa32d7a7fc638..11c4b82dfd840 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 49b80bac48a1b..69edbe3773d44 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index a8a483f57833d..941899dda1d22 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index ed645d5a14f12..1c700ba570c54 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index bad78b8a935e3..5ed0bebdc074a 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index 1b52b4404c1dd..9392385b24b86 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 94348ddd9719e..62a654f225abc 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index 26ca1b91211e0..a1b76ebb90b78 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index d458ee09812f6..7cfd75220e496 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 62bf87a47d9fe..044636237c53e 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index 5017d0b58cc46..4c46f582212bf 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index b799b8837d5af..79186a028bac9 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index 3f5bd50684c31..a135658727efe 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index 93cd5576a11b5..06db600b42833 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index dafa9fdafb89d..eb877f2db0864 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index cd06e685ac2e8..38b308fc138e3 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index c83b94e3bea25..e8db870506fa4 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index cb925007908f8..48333ac426b0e 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index d09603476ddcb..56a55c2fc7307 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index 3f2760ed18466..f041f1947484b 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 55e152a8dd0e6..71ed3d5631628 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index ce2bda25bbb89..d49e45fb8586e 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index 8309fe669b68a..cda9887942f22 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 1189b703da422..4eab6a61f552a 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index e403a829ca589..7d8eda88fe646 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index 115839221c841..ad4fea141a92c 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 20bf23f93dae4..b399f841abcd6 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index b7c5339227511..55426c1e9f42d 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 995d74c09c7a7..0544c3589e603 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index f777cf7b8cb05..dd95b9e2e7c21 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.devdocs.json b/api_docs/infra.devdocs.json index 96f62ca88f47d..2e4e16322dc43 100644 --- a/api_docs/infra.devdocs.json +++ b/api_docs/infra.devdocs.json @@ -651,67 +651,6 @@ "path": "x-pack/plugins/infra/server/types.ts", "deprecated": false, "trackAdoption": false - }, - { - "parentPluginId": "infra", - "id": "def-server.InfraPluginStart.getMetricIndices", - "type": "Function", - "tags": [], - "label": "getMetricIndices", - "description": [], - "signature": [ - "(savedObjectsClient: ", - { - "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsClientContract", - "text": "SavedObjectsClientContract" - }, - ", sourceId?: string | undefined) => Promise<string>" - ], - "path": "x-pack/plugins/infra/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "infra", - "id": "def-server.InfraPluginStart.getMetricIndices.$1", - "type": "Object", - "tags": [], - "label": "savedObjectsClient", - "description": [], - "signature": [ - { - "pluginId": "@kbn/core-saved-objects-api-server", - "scope": "common", - "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsClientContract", - "text": "SavedObjectsClientContract" - } - ], - "path": "x-pack/plugins/infra/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "infra", - "id": "def-server.InfraPluginStart.getMetricIndices.$2", - "type": "string", - "tags": [], - "label": "sourceId", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "x-pack/plugins/infra/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [] } ], "lifecycle": "start", diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index edcc3fc7bcc35..152f61131a42c 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/inf | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 45 | 0 | 42 | 11 | +| 42 | 0 | 39 | 11 | ## Client diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index e2e55c9d3bea0..1d1215588b23b 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index c5088b0fcc3fd..cf3a080b562ae 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index b147821915736..2f8f5989dedcc 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 2ef6d1201982a..28ff339133fed 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index 9729ddc7e5822..22287152e7f90 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index cfbbe6416aa73..e9a7df9cb315e 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 135cc02b5dfad..b82bc28f8afc4 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index d249532a088ae..ff2014b13f8b9 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 53d9eb5130b6e..e3f6f5e495e2c 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index 1431fba1f5603..831271e6ae332 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index ffe3d3bface57..b4043b7094b41 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index 3c96fe25ac23f..5f99184557764 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index 4c61af7418529..46b19b336f418 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index cc69b90b02ab1..c9a1e107fa0df 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index fb42c84c8d60f..e2e597d54ae6d 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 790648d321309..6b98e2252e59e 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index d089126f3ecae..295e8c8a5cb76 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index c0b66a4bb4b33..fa0744478b723 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 83ef540bf9c02..b267ffcfe0d0f 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index b1722beaf22d7..16ea3877e3289 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index f6d8149c4718b..df1f389ff7b09 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 9c89365ea8091..1e332ec048783 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 74ca45ec6775e..bb4e5272a9b10 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index b019c44193b56..0d14c2335a2e0 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index aa9cf36e37845..2d56bacae9404 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index ac83bc1e33802..8be3cb99b29fd 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index aa19a99c0f9c8..d784226093817 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index 3462658ae8b2f..43ef859c468ad 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index 553d65ee47bc1..79e01c2c071c1 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 8e0277e7db7aa..c5a2058fd3c90 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 867cba81c5307..cd9a6e817fa5d 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index 3e9391da6d281..cc94bdfbdb1f5 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index c49af4c7a5f6e..f75c6a4194020 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index 27822dcba6cb8..363d9002fe27e 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index 578480beca5d5..b9266771cfbd8 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index ef0033a143904..9ef52a21c968e 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index 7e415409a156a..4e0048ab49bbc 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index c0669b3adb2a5..88ff33ff74691 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 3054e3eb47f1b..619ce94975c3b 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 5955c4c99eb31..0b6948d747069 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 8cf13fd3492c6..0277b87568981 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index 9b9b39d89f1c0..5563f241ba752 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index 0aa2e732fc2cd..fde57de040457 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index dcf96e0908c96..f998db46dd86b 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index 2fbb2da333f13..32fc14e9f6fe5 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index c5edfca8f1ab2..d3428d2e595d2 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index 20b6ccdffcea9..e61930c03ef15 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index ed0f55dc30423..0f2ba4b62e979 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 1793b350dc471..43fc070cfe6c5 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 7da5ba0598cdc..8206dfcda7ecf 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index f315cedc79d56..b4062f513d312 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index d65efcc0dbc1c..754dc9e962188 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 7ef3b141a0b68..92d2183cf183c 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 027859db64e84..82b74db21a003 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index 91722fa6e8732..7d28dadf2e1fa 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index d4d37b94994a9..1f3e2bdaff371 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index d7b50cd1dc902..f50a6cf780cd7 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index c28f64d47c4dd..a914faa1c1e1c 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 0659818dd5dcd..d1a25a6da499d 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index 52d171cd61828..d0ab7ddbfc4b1 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index 782d1c71df942..ea080bfe34b33 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 4a67c2411d8c2..ad1982b9083bd 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 714f0c599fd2d..70630a6cc1cdd 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index e835a5a187806..07d5cb6b8e8d8 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index 6b9b1308ee859..c0c9589d08881 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index 287a669467bd7..92b7193b0859c 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index ed20a5c0e6ef0..b0cd685daf873 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index c35070cbf836f..964c1cc1be540 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index 01825cb8f95bd..ea111f2a6353f 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index e8b19f7738fac..2dbe030c50512 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 2cdbbdc2a31cf..5c599b8d22868 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 404775d535b34..d67e7778f4d41 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index 0dcd881edefc2..5216339a0434a 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index 4dd04a4a2417e..5eaed7b71363d 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index ac35a73fa16db..e6052982e6b8b 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index 4e22df08f088f..fcd3ceae94007 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 843a16e17f3f1..128ae72777d9e 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 4caf7ee701b9d..92526c5baf2ee 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index 579d71ecd3f45..c525135d96d72 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index a037e10ce4868..ce18a706cb1d3 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index c3807f2afe0cc..f9453e046524c 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index ebeff75721071..727171bcf7974 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index b497966eaec95..f94e7db630e57 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index ca00222785147..d31caf2b61b48 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index eeb5ceccc4e21..19ba90a3ee613 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index 77e47f46d4f12..de0e7cb5d12bd 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index 4c9d1b3c4dc4e..0424a2a1b200b 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index 5805fae6acecb..7c385b15ef937 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index f3c1b316ed386..4d237059cc91f 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index 6dbbfbbfefcde..f664f7628c278 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index 62d00f3533b03..b38ed02c6e891 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index 4836ca5f632ef..1646ce0f05f5d 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index c65d904f71434..aca4097e14a07 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 9aab545bd7478..5298b7cba00fa 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index 765ba28ef92ea..9af50bb156d83 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index 50876d64f5387..9e3128084510d 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index d8bdc0d69d7be..aac3b0c6a026a 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index edff2673e1499..d5d59be2f2cc8 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index bc0f5bba42573..9b1140f8677f9 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index f893bfda491bb..bf2706793c518 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index 989ce9e75592f..6feb3b63c66a7 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index bceadcaaddbc5..8b39313094778 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index 7efd3d945f7c3..509ba64ed79cd 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index b0b1f97a2bd95..7787f0789c670 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index 18166b29ee95f..41d7e066988e8 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index c3ef79d35e115..09292f04acc71 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index e373873a994d8..f2ece246d9b71 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index fea6f17a74d5d..5ef026994acc1 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index 42a2a1996e9b4..2bc75b16ebe5e 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index 796deb8bd12d2..a21966bd7c9be 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -3703,14 +3703,6 @@ "plugin": "triggersActionsUi", "path": "x-pack/plugins/triggers_actions_ui/server/routes/config.ts" }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/routes/fields.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, { "plugin": "profiling", "path": "x-pack/plugins/profiling/server/routes/flamechart.ts" @@ -4323,6 +4315,14 @@ "plugin": "indexLifecycleManagement", "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/snapshot_repositories/register_fetch_route.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/routes/fields.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "ingestPipelines", "path": "x-pack/plugins/ingest_pipelines/server/routes/api/get.ts" @@ -6269,14 +6269,6 @@ "plugin": "triggersActionsUi", "path": "x-pack/plugins/triggers_actions_ui/server/data/routes/indices.ts" }, - { - "plugin": "visTypeTimeseries", - "path": "src/plugins/vis_types/timeseries/server/routes/vis.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, { "plugin": "profiling", "path": "x-pack/plugins/profiling/server/routes/setup.ts" @@ -6745,6 +6737,14 @@ "plugin": "indexLifecycleManagement", "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/templates/register_add_policy_route.ts" }, + { + "plugin": "visTypeTimeseries", + "path": "src/plugins/vis_types/timeseries/server/routes/vis.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "ingestPipelines", "path": "x-pack/plugins/ingest_pipelines/server/routes/api/create.ts" @@ -7971,10 +7971,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/risk_score/stored_scripts/create_script_route.ts" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, { "plugin": "reporting", "path": "x-pack/plugins/reporting/server/routes/internal/deprecations/deprecations.ts" @@ -8187,6 +8183,10 @@ "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "ingestPipelines", "path": "x-pack/plugins/ingest_pipelines/server/routes/api/update.ts" @@ -8637,10 +8637,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/pinned_events/persist_pinned_event.ts" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, { "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/security.ts" @@ -8653,6 +8649,10 @@ "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/server/routes/workplace_search/sources.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "@kbn/core-http-router-server-internal", "path": "packages/core/http/core-http-router-server-internal/src/router.ts" @@ -8999,10 +8999,6 @@ "plugin": "observability", "path": "x-pack/plugins/observability/server/lib/annotations/register_annotation_apis.ts" }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, { "plugin": "assetManager", "path": "x-pack/plugins/asset_manager/server/routes/sample_assets.ts" @@ -9155,6 +9151,10 @@ "plugin": "indexLifecycleManagement", "path": "x-pack/plugins/index_lifecycle_management/server/routes/api/policies/register_delete_route.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "ingestPipelines", "path": "x-pack/plugins/ingest_pipelines/server/routes/api/delete.ts" @@ -13457,14 +13457,6 @@ "plugin": "@kbn/core-http-router-server-mocks", "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" }, - { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/custom_elements/find.ts" @@ -13525,10 +13517,18 @@ "plugin": "cloudSecurityPosture", "path": "x-pack/plugins/cloud_security_posture/server/routes/detection_engine/get_detection_engine_alerts_count_by_rule_tags.ts" }, + { + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "fileUpload", "path": "x-pack/plugins/file_upload/server/routes.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "kubernetesSecurity", "path": "x-pack/plugins/kubernetes_security/server/routes/aggregate.ts" @@ -13933,14 +13933,6 @@ "plugin": "@kbn/core-http-router-server-mocks", "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" }, - { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/custom_elements/update.ts" @@ -13957,6 +13949,14 @@ "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/workpad/update.ts" }, + { + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "transform", "path": "x-pack/plugins/transform/server/routes/api/transforms.ts" @@ -14681,14 +14681,6 @@ "plugin": "aiops", "path": "x-pack/plugins/aiops/server/routes/log_categorization.ts" }, - { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/custom_elements/create.ts" @@ -14705,6 +14697,10 @@ "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/workpad/import.ts" }, + { + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "fileUpload", "path": "x-pack/plugins/file_upload/server/routes.ts" @@ -14721,6 +14717,10 @@ "plugin": "fileUpload", "path": "x-pack/plugins/file_upload/server/routes.ts" }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "maps", "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" @@ -15109,14 +15109,6 @@ "plugin": "@kbn/core-http-router-server-mocks", "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts" }, - { - "plugin": "logsShared", - "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, - { - "plugin": "infra", - "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" - }, { "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/custom_elements/delete.ts" @@ -15125,6 +15117,14 @@ "plugin": "canvas", "path": "x-pack/plugins/canvas/server/routes/workpad/delete.ts" }, + { + "plugin": "logsShared", + "path": "x-pack/plugins/logs_shared/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, + { + "plugin": "infra", + "path": "x-pack/plugins/infra/server/lib/adapters/framework/kibana_framework_adapter.ts" + }, { "plugin": "maps", "path": "x-pack/plugins/maps/server/data_indexing/indexing_routes.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index f1a9420a6dba2..e41e31079a6f4 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index a96ffb4fee0d4..f3ef54d91115e 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index f67324d54b8f4..97ce5f4c6f179 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index a96a91913ae81..fe699f13e4b4c 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index 2c3fb7dddb5b2..8d189612e9f59 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index c1acb799daa47..a4fde0cf5ad8f 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index 752d43dde339a..c8dc915ee4653 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 15946d8856b5a..8f238bd44de7c 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index 9990c6d12c3ea..cd9d673a3c858 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index 0322ce21d3a61..03b23a313496d 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index 25332d56bb401..cd0138ce23127 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index 3c6c7326baff9..a814c1ae77630 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 3516f844e6a8c..df11710fc6473 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index a1bd756124637..538f00e169b26 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index 9aab97336ed24..dac0c9e2f757b 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 974185fd2efcf..4f32bc7c405d1 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 2a77b6fb5968d..8690f849c206c 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index cc2730ee5b6f8..71f67829e55c3 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index 6c29e1af11ed3..1f7313ec0cba3 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index 17f58e583716b..a290fdb3caf6f 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index a016dda6748a1..af695ccd6f05b 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 3dfadf831a780..e44e0297447e2 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index ef9713312b60f..c96fcd90d25d9 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 837a9c3abc1ca..6ac5bb621ef9f 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index 669e6a6f0e541..7c0cb33f397c4 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index a6f0d2993a50a..75b1660499023 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 82dcf89027474..b3a4877c556e5 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index 004a7825bcaab..56e2ec6118b61 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index d0eb2e765f638..f2fd56eec6186 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index 8211fe121ad3f..3260545f639de 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index a367383620f51..a69f3d4659f00 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index 0feed1a4dc481..d87d65efcd31a 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 7f50121077049..92f3a1a726e5a 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index f28268d85f9ee..00e4e25e0e926 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 71f1f2870f428..8cfd893c20aea 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index f5f0ca49ac3aa..662689e7c0ff5 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 8197bd50889f6..3617cb5985adc 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 19c7afaccde3f..816a0aea73175 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index abb50e8d40852..daf600d189235 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index e6b8d44f41d8b..15cbd51460740 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index e3b4cfa4588fb..c6d9d2cdc27a6 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index a15f7b5970710..09b84c250e660 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index ffd669a1e801e..d207e2560afcc 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 2829f1442d7df..e8f958c741e8b 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index a1470d638f330..794fba03b2caa 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index e83b208794440..1f685943b76a9 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 2420e3603c5eb..8ab77ece43682 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index add3549a127fa..5273044fe4571 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index fdd88c1aa1869..270c528291e0a 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index c7510a30ff213..47080516a52d0 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index 9ace18c845371..7a1ef7fa11a44 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index 09904d03543aa..c361df3b8feca 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index c35a0d8b2c798..c70790b674d43 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 732f44f569c58..6d7b5a6e5f52d 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 28cb0a346cc7d..cb8e6b10a2f03 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index 202a674c2d221..0981e060e1a4b 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 3ea27ffed6e3d..d34a8d6ed5734 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index fed47eab18bd0..496282c263f55 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.devdocs.json b/api_docs/kbn_core_saved_objects_server.devdocs.json index 2af69eecce1fe..ee9337a701759 100644 --- a/api_docs/kbn_core_saved_objects_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server.devdocs.json @@ -10555,10 +10555,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_actions_legacy/logic/rule_actions/legacy_saved_object_mappings.ts" }, - { - "plugin": "visualizations", - "path": "src/plugins/visualizations/server/saved_objects/visualization.ts" - }, { "plugin": "savedSearch", "path": "src/plugins/saved_search/server/saved_objects/search.ts" @@ -10575,6 +10571,10 @@ "plugin": "graph", "path": "x-pack/plugins/graph/server/saved_objects/graph_workspace.ts" }, + { + "plugin": "visualizations", + "path": "src/plugins/visualizations/server/saved_objects/visualization.ts" + }, { "plugin": "maps", "path": "x-pack/plugins/maps/server/saved_objects/setup_saved_objects.ts" diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index afac337ae7dad..4a14ca428703f 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 13b3c24264e00..34a0abd67bac7 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index 66cfea3f106dd..3182b7d0985fc 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index da82559da4d03..3ec2540969ec8 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index ab8719fc0005e..ec45362f42ccc 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 4e6661a26f4b3..78ec1a563aa6e 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 51bca68764d14..8c0a7c605535f 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index 920d0bcd76e69..be4a80d2273f6 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index 68cdd48f61caf..4ef1c5ae0f5f3 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 426faf14ad724..7916e5e76ee6f 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 43dadecb6b675..26048cbabd58a 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index c2588c80c2d4c..9c85706a265f9 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 806dd2ddf74c3..96791c21ab293 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index ab36199531b08..56507ffb33409 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 87e64b3e9dc6e..915121982ae77 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 723fdc031cd8c..0d3df47f681c7 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index a4d5850c6d7f3..bdb092d8eef3e 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index 443d4510da17a..de7d6538911ea 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index 10366c7a81a92..ddcf51b6add83 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index 0bbd38008d772..552b1d02e636f 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 3f38fdf89d796..3b55aa1eed226 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index d42ce278136f5..d31fa36488586 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index 4592965584fc8..1ba39330be373 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index 06f3590f9d9e7..d3c78dd0b54ed 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index 83b3e653bc2a2..de87c0b169400 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 8ffb29e7099d1..2ec0f6f3414db 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index fd59fd322103d..3bc417262bbfd 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 3d6eeab4a5e3a..4f420e972c4ab 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 468f9209653a3..67e36c6d8d6cc 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index 6d2c66efaf58d..d0388e3f12bf5 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index 402265ddb45f1..2d08ce91f3f5f 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index b4f2d3606d4e7..cf069866de5c2 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index f68f57dc9f816..af3f18f9a9e15 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index e937e3c729b2c..9a8071d53e99f 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index ea8ff98efe846..d8c6e5d6faa91 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 84a272a284f97..32615e2092bc0 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index 9ebcd52088c75..818da9525505f 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index eda0c8946c248..849d29b67a2d4 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index a48227bed454c..c0a0ed8b7e1e9 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index 8c0262e7e0169..8786184a23a89 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 691a7af9f0c12..bc691fd544821 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index 08a7afa549976..b7f632d477829 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 7c5d8f4e48386..6d420259a7979 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 26e3ce6933cd4..a900ca31ec3d0 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 117f01f9ccc77..052eeb8a143a1 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 7a9d4a4e7f555..ddd7a0cea9253 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 7930f66a603c1..88a2d60b12e58 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index b568836c5f628..52aa70fdb02aa 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index 252b4e0cdc5d0..e68ad9cd8cd18 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 9196470355b68..3ffd1aa4661ca 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 1c58a1d31e1d0..593051ac21c19 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index e4bcef45d816a..39216f8c3af07 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index d7b92de184d4d..f7c5bb2454ab8 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 7388513782a13..6d99b8aec8f5f 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 0843aa27ff8c5..c6f68dd16f1ad 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index b353843e9e332..4a73b7475db4f 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 1ba4e728e49b7..5eb0289bcd437 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 89ff7c10892f4..cc3f3b2ffd7c4 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 28c637702b55c..fd680ca118d8a 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 34c58173357d0..5a609247e88b7 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 1066715039485..9fbcb2a64cd90 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.devdocs.json b/api_docs/kbn_es_types.devdocs.json index 7b364b08e03a3..37cab03f85e11 100644 --- a/api_docs/kbn_es_types.devdocs.json +++ b/api_docs/kbn_es_types.devdocs.json @@ -20,6 +20,100 @@ "classes": [], "functions": [], "interfaces": [ + { + "parentPluginId": "@kbn/es-types", + "id": "def-common.ClusterDetails", + "type": "Interface", + "tags": [], + "label": "ClusterDetails", + "description": [], + "path": "packages/kbn-es-types/src/search.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es-types", + "id": "def-common.ClusterDetails.status", + "type": "CompoundType", + "tags": [], + "label": "status", + "description": [], + "signature": [ + "\"running\" | \"failed\" | \"partial\" | \"skipped\" | \"successful\"" + ], + "path": "packages/kbn-es-types/src/search.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/es-types", + "id": "def-common.ClusterDetails.indices", + "type": "string", + "tags": [], + "label": "indices", + "description": [], + "path": "packages/kbn-es-types/src/search.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/es-types", + "id": "def-common.ClusterDetails.took", + "type": "number", + "tags": [], + "label": "took", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-es-types/src/search.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/es-types", + "id": "def-common.ClusterDetails.timed_out", + "type": "boolean", + "tags": [], + "label": "timed_out", + "description": [], + "path": "packages/kbn-es-types/src/search.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/es-types", + "id": "def-common.ClusterDetails._shards", + "type": "Object", + "tags": [], + "label": "_shards", + "description": [], + "signature": [ + "ShardStatistics", + " | undefined" + ], + "path": "packages/kbn-es-types/src/search.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/es-types", + "id": "def-common.ClusterDetails.failures", + "type": "Array", + "tags": [], + "label": "failures", + "description": [], + "signature": [ + "ShardFailure", + "[] | undefined" + ], + "path": "packages/kbn-es-types/src/search.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/es-types", "id": "def-common.ESSearchOptions", diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 836c776c853d3..82d694d2c0db1 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 12 | 0 | 12 | 0 | +| 19 | 0 | 19 | 0 | ## Common diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 072dee410b69f..ec2562b406a29 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index a214bd2bd202e..e75f864e6ea37 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index f51d5e245f997..8fe9c1deffb52 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index fd0f9cc61e2b2..07cec620c6424 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 994d098957d04..edc2a386a60ed 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 3fc220ae3faa2..fedaa5978785c 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 3a1d3920ab33b..f1de138952c93 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 1c9f4f29d9916..34684c1cdb1a0 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 5fb0099ea25a7..41ae071db5917 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index cf6ac3b59e77c..64c2b648652f4 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index e435c1147127c..867b98101e944 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index ecac237884d1f..b32e1c03f34eb 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 64d797f32e392..16ea8913b8fcb 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index ffff5f3cd5b7f..ac9978526c1c5 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 7d6a310835867..cfb6ccbf1368d 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index cf2ff5525a876..9456989c73734 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index 5abf26c4f193a..fd26e9cf20487 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index 2a58622d1e73e..f313af0e4296d 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 99279d187f7d2..7a204767e741a 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 5058aace33308..f5d72408f794a 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 9ac8718e3bed8..4d4f32f88c9d8 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 2ebcceaf52377..163be0e0b693c 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index 0404ed68cdb1f..b3f40e8aa786e 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index e0f9f068062d1..2ec3ab07f13ca 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 5e3f0ce648169..3cba675e1961f 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index fe925e1ccef9e..1fcf47b0f3efb 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index e6a7507a9dca2..07189b3715135 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index c8e3d92d65f22..28ff0d80a1d61 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index 512f4c1fa3ace..936316e10d183 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index cf8e7b3840b89..9f118560bde07 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index d01bce98b250e..900fcb65a25c2 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index 1b0c3a81d7747..a5f607f192c68 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 731a39b4a0759..b83182795471a 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index deb1878538c85..a4b60bdb73200 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index 2486a1bbea21a..bd2b6e24c2c2b 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 5fde65dc8c8e9..f0ceedae5ef52 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index 1154b21edec99..352b17ca1e39d 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 3601315e30b87..5bac7c39cdca5 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index 56d44aa6d6f1f..7a0950c1310b2 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 1fe994beecc27..9261535936a4c 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 516d37b6560d1..f7dfa56a4d9dc 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index faf983b8c2848..7ab28dfee4b37 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index c9169c7a742c8..794e631ab6dd5 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 9d09acf46725f..98fb15fdeba33 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index dfbce3358cc19..7a6e0e88630f2 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index da174530aea8b..e8b8efe91ec4f 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 6060c29616f76..7b0a2fcc97e55 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 51d7c0f5233b2..9dfcb1ddfc528 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index de595129f47a2..0b608a9282e49 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index 1babbce038986..7d03c293d80b7 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 41edd5cdb082b..9f5545dab3ebb 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index e014bb5bef501..e32361d6267ab 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index d5081aa7708b8..f4d79de25dd09 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index ab2ad4fe9e9b8..3054d511859ce 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 303015211d79c..94bad78ca9c95 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 8ca1334f68f4a..ca0ce93f6f61a 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index 372d9706d3085..ec9d192316e99 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index d821e2e580ab7..a79248d84f444 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 67875c6b64084..f1b5d24f50b69 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 19c752789f91f..2df7d55392bec 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 581ae125a9639..2f423edf2b476 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index cbbf0b11237d1..07f32e37167c1 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index ab68d7e40e6ce..4f7a22718b8ce 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 1c0a1d837d374..10f3c4c5913b9 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 35fa94cf16087..40bb560a4b16a 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index a850307aa3e2a..022aae348d884 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 52bbe51a7d3be..cf305c9e9016c 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 591a7c52ba5a2..fad47a070f6fa 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index eb6f2c703fe14..65cc20f9d6240 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index 26f754927bd8b..4107eca32eddd 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index 504e006161dde..bd553abf41ab1 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 2ba81e7f255ca..1c731787bb711 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 71f99b22df5eb..8276e080c81f5 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index 1bd90b4d11f7f..26f99807298ce 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index 2e27bb4c68a28..0fe9cda9cff5c 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index 477dafb3ec330..e67853e28ad21 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 1c0d5b1c1d61a..527d73be4dcff 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index f79dc0412d77e..b0e58e2c5b08b 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index d7647c1a488bc..e6681e6c5cd9a 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index 69ee7b24992b8..d4be75076ddb1 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 5120b8d20ce12..ac5832fde8b3d 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index b1d8235baf9a0..d4d7c8e2fc9fc 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index b4987ba08e900..31f79d6d6aca6 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index bf6f2dded5944..7ac42136cc8a6 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 4313545c41d0a..4ed82f53fc6ae 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index c5de295576a1f..a671dabdb96fb 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 2caf813b19870..f92918e995f28 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 916ac5345bbca..4edd87e2ae83b 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 71e35dbcd5313..512910bd28cbc 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index fdd500a48db18..f52a7a68df95f 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index bd34be09c09c0..7153d39528a1d 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 8f324f676defb..9bb48b4165913 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 2fd3a476ec87b..b1e588c357da0 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 83b6d15f4958d..65df9d4b51e7a 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.devdocs.json b/api_docs/kbn_search_response_warnings.devdocs.json index aa22ec9dc5bdb..1ffcdaf144fb1 100644 --- a/api_docs/kbn_search_response_warnings.devdocs.json +++ b/api_docs/kbn_search_response_warnings.devdocs.json @@ -29,7 +29,7 @@ "\nIntercepts warnings for a search source request" ], "signature": [ - "({ services, adapter, options, }: { services: { data: ", + "({ services, adapter, }: { services: { data: ", { "pluginId": "data", "scope": "public", @@ -53,7 +53,7 @@ "section": "def-common.RequestAdapter", "text": "RequestAdapter" }, - "; options?: { disableShardFailureWarning?: boolean | undefined; } | undefined; }) => ", + "; }) => ", { "pluginId": "@kbn/search-response-warnings", "scope": "common", @@ -61,7 +61,7 @@ "section": "def-common.SearchResponseInterceptedWarning", "text": "SearchResponseInterceptedWarning" }, - "[] | undefined" + "[]" ], "path": "packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.tsx", "deprecated": false, @@ -72,7 +72,7 @@ "id": "def-common.getSearchResponseInterceptedWarnings.$1", "type": "Object", "tags": [], - "label": "{\n services,\n adapter,\n options,\n}", + "label": "{\n services,\n adapter,\n}", "description": [], "path": "packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.tsx", "deprecated": false, @@ -127,20 +127,6 @@ "path": "packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.tsx", "deprecated": false, "trackAdoption": false - }, - { - "parentPluginId": "@kbn/search-response-warnings", - "id": "def-common.getSearchResponseInterceptedWarnings.$1.options", - "type": "Object", - "tags": [], - "label": "options", - "description": [], - "signature": [ - "{ disableShardFailureWarning?: boolean | undefined; } | undefined" - ], - "path": "packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.tsx", - "deprecated": false, - "trackAdoption": false } ] } @@ -150,57 +136,46 @@ }, { "parentPluginId": "@kbn/search-response-warnings", - "id": "def-common.removeInterceptedWarningDuplicates", + "id": "def-common.hasUnsupportedDownsampledAggregationFailure", "type": "Function", "tags": [], - "label": "removeInterceptedWarningDuplicates", - "description": [ - "\nRemoves duplicated warnings" - ], + "label": "hasUnsupportedDownsampledAggregationFailure", + "description": [], "signature": [ - "(interceptedWarnings: ", + "(warning: ", { - "pluginId": "@kbn/search-response-warnings", - "scope": "common", - "docId": "kibKbnSearchResponseWarningsPluginApi", - "section": "def-common.SearchResponseInterceptedWarning", - "text": "SearchResponseInterceptedWarning" - }, - "[] | undefined) => ", - { - "pluginId": "@kbn/search-response-warnings", - "scope": "common", - "docId": "kibKbnSearchResponseWarningsPluginApi", - "section": "def-common.SearchResponseInterceptedWarning", - "text": "SearchResponseInterceptedWarning" + "pluginId": "data", + "scope": "public", + "docId": "kibDataSearchPluginApi", + "section": "def-public.SearchResponseIncompleteWarning", + "text": "SearchResponseIncompleteWarning" }, - "[] | undefined" + ") => boolean" ], - "path": "packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.tsx", + "path": "packages/kbn-search-response-warnings/src/utils/has_unsupported_downsampled_aggregation_failure.ts", "deprecated": false, "trackAdoption": false, "children": [ { "parentPluginId": "@kbn/search-response-warnings", - "id": "def-common.removeInterceptedWarningDuplicates.$1", - "type": "Array", + "id": "def-common.hasUnsupportedDownsampledAggregationFailure.$1", + "type": "Object", "tags": [], - "label": "interceptedWarnings", + "label": "warning", "description": [], "signature": [ { - "pluginId": "@kbn/search-response-warnings", - "scope": "common", - "docId": "kibKbnSearchResponseWarningsPluginApi", - "section": "def-common.SearchResponseInterceptedWarning", - "text": "SearchResponseInterceptedWarning" - }, - "[] | undefined" + "pluginId": "data", + "scope": "public", + "docId": "kibDataSearchPluginApi", + "section": "def-public.SearchResponseIncompleteWarning", + "text": "SearchResponseIncompleteWarning" + } ], - "path": "packages/kbn-search-response-warnings/src/utils/get_search_response_intercepted_warnings.tsx", + "path": "packages/kbn-search-response-warnings/src/utils/has_unsupported_downsampled_aggregation_failure.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true } ], "returnComment": [], @@ -275,14 +250,18 @@ { "parentPluginId": "@kbn/search-response-warnings", "id": "def-common.SearchResponseInterceptedWarning.originalWarning", - "type": "CompoundType", + "type": "Object", "tags": [], "label": "originalWarning", "description": [], "signature": [ - "SearchResponseTimeoutWarning", - " | ", - "SearchResponseShardFailureWarning" + { + "pluginId": "data", + "scope": "public", + "docId": "kibDataSearchPluginApi", + "section": "def-public.SearchResponseIncompleteWarning", + "text": "SearchResponseIncompleteWarning" + } ], "path": "packages/kbn-search-response-warnings/src/types.ts", "deprecated": false, diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 78a1370ed3965..5c07ff524ae7b 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 16 | 0 | 8 | 0 | +| 15 | 0 | 8 | 0 | ## Common diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index bd7ecdc91b562..4380cb77c9d6e 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 95ae6ed381a17..ea456f5fa8260 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 10147d18823bf..d88cbaff984b7 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index fcdea65c6a604..b637cb7f229c9 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 85107112b6ef7..3f330762cf8c4 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index e132ae5f6d5bd..a7dd50968059c 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 9b92b516449ec..2238a5fe684b4 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index c652290741930..5c58b1e19e73b 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 42b688f775adb..495e18670e44c 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index 971c321115555..ca63ff0ba8be7 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 3fe33fe354aa4..eb6d3e97063e4 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 35db1fcf64345..04bd9f09ae1c6 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 7a99dec44d648..33d52e272b4e7 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index f3f66c0e8831b..a0a275b3bad2d 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index e9fd10ad113b6..dbc0a23fcca7a 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index 0672746984568..09639eabe310d 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 4fd7663ca01f0..099173b673e1f 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index 59672d83f3691..a148fa0dd4319 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 91ee307dfee65..ab3cc34c054e5 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index c77a9a5e2044c..da0e6480b3672 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index fa4faf0ea89ec..5bbc6280bb4e0 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index 2dd4d54677b50..12a4bddd02167 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index af459ce9b9d96..8f0103921c260 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index e6a86607ba660..d8ca13c09183c 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 3267ec4aff5cd..a397017efb243 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 176ff9a2ac21b..44dfb40d8ee14 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index dc303152eab62..2f2e012786b59 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index 5426f18ee03fb..a4ff203616370 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index f40a9ed5229d8..159e89701d7e0 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index 2c9f4a5a20d2a..5dca13612b8b4 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 40e828cd991d9..4a9bdb19d8ad6 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 3e7b927bbf3f3..5267baad038b8 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 6cd724e901483..a16d551ba256d 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 0a661891d862a..87c211eaf8e1e 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index 2a27439f35971..37965bc82e998 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 74ace59880f6c..d7ce3492e784a 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index 56888a0442d78..bef185b02c7be 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index cebcf1586d85e..b0790fb7a4251 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index d28dc17d88a95..2cafe9285a2a2 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 1c5fa25f9984f..cf9162b80960c 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index af5b5f85ce6b6..9cd9b3344559f 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 8474b29295de4..f9c02ddc891c5 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index b2cca425f06f1..255c32a539b97 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index f1be5726c7c66..c6975306bd9b4 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index eb8f5f0d7a780..a03452043ce68 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 9db863d26dfd8..f1ad00c2d6e22 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index bccce31a1479b..42a5f872105fc 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 82c64d13096e3..4dd5eba44e1a0 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index 195e7d557c8f4..00a4466c8dabc 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index 6a98fbfe31cf2..78d6deee8e209 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index 6f980e39f5251..83b850fd8e28d 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 8017bc4c513fb..15dd1388393f2 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index 354751cf87fa9..f0d9d5639f8e1 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 3f081f6554ffb..8455073267b1b 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index 079004996788c..676708204a641 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index f486956b1bd0e..59aa9631f6497 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 038d3d256afcc..201727bf5dfbf 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index aa1dd8e4029ce..046eb0e1dffdb 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index 4887fd252eae0..1b18f70202b91 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index e59e6ebda66d1..bffdddbbb9054 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index e9bb1f10afc5b..fc5061057a623 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 534efad7ac54d..dd6d74b4c82be 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index 8f578aee6a096..9d99698f419b0 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index e670dee8e8a3a..2da0077e6028e 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index 8fc83e4704fbb..1c25ff1d32189 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index c5f70bf276486..f4c81ad9e6ca3 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 1338efd0d183d..42128f83255f6 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index b5de22da4030e..ffc82034449ec 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index 53c62c318f591..92ca821c395a9 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index c3dee7255e7d8..75420b5a84e24 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 8e982b3f2cd78..3534d3de6481b 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 7d2197aaa897a..4091e38403db7 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 0cc09b6460982..d0ac4522dcaed 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 0b4ae1c278dd1..2860108b90f6f 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 6833bf1ce3d93..4a1ac8437d868 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index ddf2632a36bb0..1869ac5c06b3f 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index a48c0e74988fe..de7e89066917d 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 34ea200559bde..c1d376233b7d5 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index d827660be313c..2472e88fcd8ea 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index aaaa841df69d8..4f785fcaec061 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index eff4ad99be5d5..695d0718be55b 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index c70c0f986b975..07e26db4476e2 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index ee2d43b18aa5e..f04cad05848c4 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index b4445f59aa88e..29fd8ffa7b3f6 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index d7aa99c434fdd..ccc8cd4108def 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index 8fba519f4211c..ab4dda63f7a1e 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 0affa2dac0ef5..ac71c51d94bf2 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index f15ccfc67ab9c..1fa204150e096 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 022cbe6a77a12..b6dc1319afbf9 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 1bddd4a9175cc..7b1604981a43f 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 7423b56aa2492..e6583162a9a4a 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index e998b0a3004c0..5306215465d88 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index f12dca08b983f..55e6ebabb7bec 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index a64c8ea4ea796..092a9110e0331 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index afe7a0f90adf1..c2c9e3e169f9d 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index 2656f1dd4e815..a1d7325298a72 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index b696d62d43e3c..4a3b5495d4630 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index da89d97a29dc9..8528bc06ed699 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 0ae0bc54ca9b9..889d7aae05b42 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.devdocs.json b/api_docs/kibana_react.devdocs.json index 242e917a38c35..de4ee43837b29 100644 --- a/api_docs/kibana_react.devdocs.json +++ b/api_docs/kibana_react.devdocs.json @@ -3080,11 +3080,11 @@ }, { "plugin": "data", - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.tsx" + "path": "src/plugins/data/public/incomplete_results_modal/open_incomplete_results_modal_button.tsx" }, { "plugin": "data", - "path": "src/plugins/data/public/shard_failure_modal/shard_failure_open_modal_button.tsx" + "path": "src/plugins/data/public/incomplete_results_modal/open_incomplete_results_modal_button.tsx" }, { "plugin": "data", @@ -3844,11 +3844,11 @@ }, { "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx" + "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx" }, { "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx" + "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx" }, { "plugin": "synthetics", @@ -3856,11 +3856,11 @@ }, { "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx" + "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx" }, { "plugin": "synthetics", - "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx" + "path": "x-pack/plugins/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx" }, { "plugin": "synthetics", diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 960803d77f5ec..5db8b9b4bdb39 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index 473a7d41ad14f..10edf30e98f41 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 506228812f476..5064048432bfd 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index b52db8e1a7205..8f193ae4bf688 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index d03854aac3992..e2e44976af5e4 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index 0ebcc03ff206b..8e6ab7f419a7b 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 55fa11f532152..4bf00187f1dc5 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 0cd9c96168624..2fef394f4f7c5 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index dffa92dfa40b4..862a019809d28 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 3cfe24b5a2b9e..4f536cbbb6d52 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 6ed5de543f8a9..2583a1cd31d03 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index d82995ab37f42..90dbad80f2a75 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index e7c35ae551778..16af50d6e8340 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.devdocs.json b/api_docs/metrics_data_access.devdocs.json new file mode 100644 index 0000000000000..ed498fd981e05 --- /dev/null +++ b/api_docs/metrics_data_access.devdocs.json @@ -0,0 +1,319 @@ +{ + "id": "metricsDataAccess", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.MetricsDataClient", + "type": "Class", + "tags": [], + "label": "MetricsDataClient", + "description": [], + "path": "x-pack/plugins/metrics_data_access/server/client/client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.MetricsDataClient.getMetricIndices", + "type": "Function", + "tags": [], + "label": "getMetricIndices", + "description": [], + "signature": [ + "(options: ", + { + "pluginId": "metricsDataAccess", + "scope": "server", + "docId": "kibMetricsDataAccessPluginApi", + "section": "def-server.GetMetricIndicesOptions", + "text": "GetMetricIndicesOptions" + }, + ") => Promise<string>" + ], + "path": "x-pack/plugins/metrics_data_access/server/client/client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.MetricsDataClient.getMetricIndices.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + { + "pluginId": "metricsDataAccess", + "scope": "server", + "docId": "kibMetricsDataAccessPluginApi", + "section": "def-server.GetMetricIndicesOptions", + "text": "GetMetricIndicesOptions" + } + ], + "path": "x-pack/plugins/metrics_data_access/server/client/client.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.MetricsDataClient.updateMetricIndices", + "type": "Function", + "tags": [], + "label": "updateMetricIndices", + "description": [], + "signature": [ + "(options: ", + { + "pluginId": "metricsDataAccess", + "scope": "server", + "docId": "kibMetricsDataAccessPluginApi", + "section": "def-server.UpdateMetricIndicesOptions", + "text": "UpdateMetricIndicesOptions" + }, + ") => Promise<", + { + "pluginId": "@kbn/core-saved-objects-common", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsCommonPluginApi", + "section": "def-common.SavedObject", + "text": "SavedObject" + }, + "<{ metricIndices: string; }>>" + ], + "path": "x-pack/plugins/metrics_data_access/server/client/client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.MetricsDataClient.updateMetricIndices.$1", + "type": "CompoundType", + "tags": [], + "label": "options", + "description": [], + "signature": [ + { + "pluginId": "metricsDataAccess", + "scope": "server", + "docId": "kibMetricsDataAccessPluginApi", + "section": "def-server.UpdateMetricIndicesOptions", + "text": "UpdateMetricIndicesOptions" + } + ], + "path": "x-pack/plugins/metrics_data_access/server/client/client.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.MetricsDataClient.setDefaultMetricIndicesHandler", + "type": "Function", + "tags": [], + "label": "setDefaultMetricIndicesHandler", + "description": [], + "signature": [ + "(handler: ", + { + "pluginId": "metricsDataAccess", + "scope": "server", + "docId": "kibMetricsDataAccessPluginApi", + "section": "def-server.DefaultMetricIndicesHandler", + "text": "DefaultMetricIndicesHandler" + }, + ") => void" + ], + "path": "x-pack/plugins/metrics_data_access/server/client/client.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.MetricsDataClient.setDefaultMetricIndicesHandler.$1", + "type": "CompoundType", + "tags": [], + "label": "handler", + "description": [], + "signature": [ + { + "pluginId": "metricsDataAccess", + "scope": "server", + "docId": "kibMetricsDataAccessPluginApi", + "section": "def-server.DefaultMetricIndicesHandler", + "text": "DefaultMetricIndicesHandler" + } + ], + "path": "x-pack/plugins/metrics_data_access/server/client/client.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + } + ], + "initialIsOpen": false + } + ], + "functions": [], + "interfaces": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.GetMetricIndicesOptions", + "type": "Interface", + "tags": [], + "label": "GetMetricIndicesOptions", + "description": [], + "path": "x-pack/plugins/metrics_data_access/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.GetMetricIndicesOptions.savedObjectsClient", + "type": "Object", + "tags": [], + "label": "savedObjectsClient", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-saved-objects-api-server", + "scope": "common", + "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", + "section": "def-common.SavedObjectsClientContract", + "text": "SavedObjectsClientContract" + } + ], + "path": "x-pack/plugins/metrics_data_access/server/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.DefaultMetricIndicesHandler", + "type": "Type", + "tags": [], + "label": "DefaultMetricIndicesHandler", + "description": [], + "signature": [ + "((options: ", + { + "pluginId": "metricsDataAccess", + "scope": "server", + "docId": "kibMetricsDataAccessPluginApi", + "section": "def-server.GetMetricIndicesOptions", + "text": "GetMetricIndicesOptions" + }, + ") => Promise<string>) | null" + ], + "path": "x-pack/plugins/metrics_data_access/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.metricsDataSourceSavedObjectName", + "type": "string", + "tags": [], + "label": "metricsDataSourceSavedObjectName", + "description": [], + "signature": [ + "\"metrics-data-source\"" + ], + "path": "x-pack/plugins/metrics_data_access/server/saved_objects/metrics_data_source/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.UpdateMetricIndicesOptions", + "type": "Type", + "tags": [], + "label": "UpdateMetricIndicesOptions", + "description": [], + "signature": [ + { + "pluginId": "metricsDataAccess", + "scope": "server", + "docId": "kibMetricsDataAccessPluginApi", + "section": "def-server.GetMetricIndicesOptions", + "text": "GetMetricIndicesOptions" + }, + " & { metricIndices: string; }" + ], + "path": "x-pack/plugins/metrics_data_access/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [], + "setup": { + "parentPluginId": "metricsDataAccess", + "id": "def-server.MetricsDataPluginSetup", + "type": "Interface", + "tags": [], + "label": "MetricsDataPluginSetup", + "description": [], + "path": "x-pack/plugins/metrics_data_access/server/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "metricsDataAccess", + "id": "def-server.MetricsDataPluginSetup.client", + "type": "Object", + "tags": [], + "label": "client", + "description": [], + "signature": [ + { + "pluginId": "metricsDataAccess", + "scope": "server", + "docId": "kibMetricsDataAccessPluginApi", + "section": "def-server.MetricsDataClient", + "text": "MetricsDataClient" + } + ], + "path": "x-pack/plugins/metrics_data_access/server/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "lifecycle": "setup", + "initialIsOpen": true + } + }, + "common": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx new file mode 100644 index 0000000000000..5986f481548b4 --- /dev/null +++ b/api_docs/metrics_data_access.mdx @@ -0,0 +1,39 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibMetricsDataAccessPluginApi +slug: /kibana-dev-docs/api/metricsDataAccess +title: "metricsDataAccess" +image: https://source.unsplash.com/400x175/?github +description: API docs for the metricsDataAccess plugin +date: 2023-09-15 +tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] +--- +import metricsDataAccessObj from './metrics_data_access.devdocs.json'; + +Exposes utilities for accessing metrics data + +Contact [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 14 | 0 | 14 | 0 | + +## Server + +### Setup +<DocDefinitionList data={[metricsDataAccessObj.server.setup]}/> + +### Classes +<DocDefinitionList data={metricsDataAccessObj.server.classes}/> + +### Interfaces +<DocDefinitionList data={metricsDataAccessObj.server.interfaces}/> + +### Consts, variables and types +<DocDefinitionList data={metricsDataAccessObj.server.misc}/> + diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index e6360c3694d83..8f86ec5ac1df7 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index dd955f501604f..57328d6bb758c 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 72a6163b39ff5..6d41663b0f69b 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index f93621b8bcd27..5d7516cecf16e 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index c48e3da752809..48414a4d076aa 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index 7457075758ca2..ebedc2bddc0f9 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 058800e439409..ce3ae2ba7e7f6 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index f3d58438e7e44..d93c3d7ec8672 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 42c960d9e25db..8bb10d67f2aca 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_onboarding.devdocs.json b/api_docs/observability_onboarding.devdocs.json index 8cc4b9736bf0f..8a5eae27e9a29 100644 --- a/api_docs/observability_onboarding.devdocs.json +++ b/api_docs/observability_onboarding.devdocs.json @@ -119,6 +119,53 @@ } ], "initialIsOpen": false + }, + { + "parentPluginId": "observabilityOnboarding", + "id": "def-public.ObservabilityOnboardingLocatorParams", + "type": "Interface", + "tags": [], + "label": "ObservabilityOnboardingLocatorParams", + "description": [], + "signature": [ + { + "pluginId": "observabilityOnboarding", + "scope": "public", + "docId": "kibObservabilityOnboardingPluginApi", + "section": "def-public.ObservabilityOnboardingLocatorParams", + "text": "ObservabilityOnboardingLocatorParams" + }, + " extends ", + { + "pluginId": "@kbn/utility-types", + "scope": "common", + "docId": "kibKbnUtilityTypesPluginApi", + "section": "def-common.SerializableRecord", + "text": "SerializableRecord" + } + ], + "path": "x-pack/plugins/observability_onboarding/public/locators/onboarding_locator/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityOnboarding", + "id": "def-public.ObservabilityOnboardingLocatorParams.source", + "type": "CompoundType", + "tags": [], + "label": "source", + "description": [ + "If given, it will load the given map else will load the create a new map page." + ], + "signature": [ + "\"customLogs\" | \"systemLogs\" | undefined" + ], + "path": "x-pack/plugins/observability_onboarding/public/locators/onboarding_locator/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false } ], "enums": [], diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index a1e9999d0ad2e..3684cc9dafe72 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) for ques | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 15 | 0 | 15 | 0 | +| 17 | 0 | 16 | 0 | ## Client diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 26769a22978f2..7476c6d994c04 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 65ef75ddaf21f..4bbd88b47375c 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index f559cb24d3000..67fe1ed926daa 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 8fce8f3b02a4a..eeeb699789c9a 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,13 +15,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a <br /> public API | Number of teams | |--------------|----------|------------------------| -| 688 | 579 | 43 | +| 689 | 580 | 43 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 74806 | 223 | 63863 | 1530 | +| 74825 | 223 | 63875 | 1528 | ## Plugin Directory @@ -57,7 +57,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibCustomIntegrationsPluginApi" text="customIntegrations"/> | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 268 | 0 | 249 | 1 | | <DocLink id="kibDashboardPluginApi" text="dashboard"/> | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 101 | 0 | 98 | 9 | | <DocLink id="kibDashboardEnhancedPluginApi" text="dashboardEnhanced"/> | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 54 | 0 | 51 | 0 | -| <DocLink id="kibDataPluginApi" text="data"/> | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | 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. | 3311 | 33 | 2584 | 26 | +| <DocLink id="kibDataPluginApi" text="data"/> | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | 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. | 3308 | 33 | 2577 | 24 | | <DocLink id="kibDataViewEditorPluginApi" text="dataViewEditor"/> | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 16 | 0 | 7 | 0 | | <DocLink id="kibDataViewFieldEditorPluginApi" text="dataViewFieldEditor"/> | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Reusable data view field editor across Kibana | 72 | 0 | 33 | 0 | | <DocLink id="kibDataViewManagementPluginApi" text="dataViewManagement"/> | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data view management app | 2 | 0 | 2 | 0 | @@ -107,7 +107,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibImageEmbeddablePluginApi" text="imageEmbeddable"/> | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Image embeddable | 3 | 0 | 3 | 1 | | <DocLink id="kibIndexLifecycleManagementPluginApi" text="indexLifecycleManagement"/> | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 0 | | <DocLink id="kibIndexManagementPluginApi" text="indexManagement"/> | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 194 | 0 | 189 | 4 | -| <DocLink id="kibInfraPluginApi" text="infra"/> | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin visualizes data from Filebeat and Metricbeat, and integrates with other Observability solutions | 45 | 0 | 42 | 11 | +| <DocLink id="kibInfraPluginApi" text="infra"/> | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin visualizes data from Filebeat and Metricbeat, and integrates with other Observability solutions | 42 | 0 | 39 | 11 | | ingestPipelines | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | inputControlVis | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Input Control visualization to Kibana | 0 | 0 | 0 | 0 | | <DocLink id="kibInspectorPluginApi" text="inspector"/> | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 123 | 2 | 96 | 4 | @@ -128,6 +128,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibManagementPluginApi" text="management"/> | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 47 | 0 | 47 | 7 | | <DocLink id="kibMapsPluginApi" text="maps"/> | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 259 | 0 | 258 | 28 | | <DocLink id="kibMapsEmsPluginApi" text="mapsEms"/> | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 67 | 0 | 67 | 0 | +| <DocLink id="kibMetricsDataAccessPluginApi" text="metricsDataAccess"/> | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | Exposes utilities for accessing metrics data | 14 | 0 | 14 | 0 | | <DocLink id="kibMlPluginApi" text="ml"/> | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the machine learning features provided by Elastic. | 150 | 3 | 64 | 32 | | <DocLink id="kibMonitoringPluginApi" text="monitoring"/> | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 15 | 3 | 13 | 1 | | <DocLink id="kibMonitoringCollectionPluginApi" text="monitoringCollection"/> | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | - | 9 | 0 | 9 | 0 | @@ -138,7 +139,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibObservabilityPluginApi" text="observability"/> | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 543 | 2 | 534 | 14 | | <DocLink id="kibObservabilityAIAssistantPluginApi" text="observabilityAIAssistant"/> | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 42 | 0 | 39 | 7 | | observabilityLogExplorer | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin exposes and registers observability log consumption features. | 0 | 0 | 0 | 0 | -| <DocLink id="kibObservabilityOnboardingPluginApi" text="observabilityOnboarding"/> | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 15 | 0 | 15 | 0 | +| <DocLink id="kibObservabilityOnboardingPluginApi" text="observabilityOnboarding"/> | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 17 | 0 | 16 | 0 | | <DocLink id="kibObservabilitySharedPluginApi" text="observabilityShared"/> | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 281 | 1 | 279 | 11 | | <DocLink id="kibOsqueryPluginApi" text="osquery"/> | [@elastic/security-defend-workflows](https://github.com/orgs/elastic/teams/security-defend-workflows) | - | 24 | 0 | 24 | 7 | | <DocLink id="kibPainlessLabPluginApi" text="painlessLab"/> | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 2 | 0 | 2 | 0 | @@ -169,7 +170,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibSessionViewPluginApi" text="sessionView"/> | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | - | 134 | 0 | 134 | 8 | | <DocLink id="kibSharePluginApi" text="share"/> | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds URL Service and sharing capabilities to Kibana | 119 | 0 | 60 | 10 | | <DocLink id="kibSnapshotRestorePluginApi" text="snapshotRestore"/> | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 22 | 1 | 22 | 1 | -| <DocLink id="kibSpacesPluginApi" text="spaces"/> | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides the Spaces feature, which allows saved objects to be organized into meaningful categories. | 253 | 0 | 65 | 0 | +| <DocLink id="kibSpacesPluginApi" text="spaces"/> | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides the Spaces feature, which allows saved objects to be organized into meaningful categories. | 256 | 0 | 65 | 0 | | <DocLink id="kibStackAlertsPluginApi" text="stackAlerts"/> | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 24 | 0 | 24 | 3 | | <DocLink id="kibStackConnectorsPluginApi" text="stackConnectors"/> | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 4 | 0 | 4 | 1 | | synthetics | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | This plugin visualizes data from Synthetics and Heartbeat, and integrates with other Observability solutions. | 0 | 0 | 0 | 0 | @@ -441,7 +442,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibKbnEsArchiverPluginApi" text="@kbn/es-archiver"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 27 | 0 | 14 | 1 | | <DocLink id="kibKbnEsErrorsPluginApi" text="@kbn/es-errors"/> | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 3 | 0 | | <DocLink id="kibKbnEsQueryPluginApi" text="@kbn/es-query"/> | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 259 | 1 | 199 | 15 | -| <DocLink id="kibKbnEsTypesPluginApi" text="@kbn/es-types"/> | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 12 | 0 | 12 | 0 | +| <DocLink id="kibKbnEsTypesPluginApi" text="@kbn/es-types"/> | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 19 | 0 | 19 | 0 | | <DocLink id="kibKbnEslintPluginImportsPluginApi" text="@kbn/eslint-plugin-imports"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 1 | 0 | | <DocLink id="kibKbnEventAnnotationCommonPluginApi" text="@kbn/event-annotation-common"/> | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 39 | 0 | 39 | 0 | | <DocLink id="kibKbnEventAnnotationComponentsPluginApi" text="@kbn/event-annotation-components"/> | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 65 | 0 | 65 | 1 | @@ -536,7 +537,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibKbnSavedObjectsSettingsPluginApi" text="@kbn/saved-objects-settings"/> | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | | <DocLink id="kibKbnSearchApiPanelsPluginApi" text="@kbn/search-api-panels"/> | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 68 | 0 | 68 | 0 | | <DocLink id="kibKbnSearchConnectorsPluginApi" text="@kbn/search-connectors"/> | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 1678 | 0 | 1678 | 0 | -| <DocLink id="kibKbnSearchResponseWarningsPluginApi" text="@kbn/search-response-warnings"/> | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 16 | 0 | 8 | 0 | +| <DocLink id="kibKbnSearchResponseWarningsPluginApi" text="@kbn/search-response-warnings"/> | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 15 | 0 | 8 | 0 | | <DocLink id="kibKbnSecuritySolutionFeaturesPluginApi" text="@kbn/security-solution-features"/> | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 14 | 0 | 14 | 6 | | <DocLink id="kibKbnSecuritySolutionNavigationPluginApi" text="@kbn/security-solution-navigation"/> | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 50 | 0 | 47 | 0 | | <DocLink id="kibKbnSecuritySolutionSideNavPluginApi" text="@kbn/security-solution-side-nav"/> | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 29 | 0 | 23 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index c67a3e2eb48a6..de4a4c9fd4521 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 1585b393e8fb2..50259ec3562d0 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index f3f81c4db4787..6c0d2eb89fef0 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index c7fab7c633cd4..370f739fbfed5 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index c9751c70fcf21..1e97f0b96cea9 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index f5c44d29c668c..8091104263cf2 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index ada92b12d2cd2..0028ffeddfc84 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index 906f17b83ea8f..2fa5f22776cd6 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 4ac4c465afa09..82521772ef865 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 6681b2e7c0659..2bddcc941ffe0 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index c1d7c3156ce42..4069de2d539e0 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 7bf278ee69692..75b419fc5d2bb 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index adbf1a44e030e..bda93a32fc832 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index e23d96c778ef8..9a10a021c3ede 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index fb8c5b52438e3..e52651b9f9cf7 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index 2891ae12dc009..36c9c1efc94ff 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 7f44e6c74461d..d93d01f915aff 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index f4ab2f7dd0457..83d59fa81ddeb 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 1580db0b601a0..622d555444660 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index df67d3400c279..9934c1618ccb5 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 7de2691cf67d1..42583ada0d748 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index d2b5f949768b9..e8db2e892e065 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index fc62a4fba6fc0..c1c90f68d58d5 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 63f184e473b39..3abf7470b3647 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 719645bb8ed8b..78b8bfca5bd51 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index dac88da1f363d..5de8ab35a7aec 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.devdocs.json b/api_docs/spaces.devdocs.json index 8ce91315daa63..2b4ff0b4dd02d 100644 --- a/api_docs/spaces.devdocs.json +++ b/api_docs/spaces.devdocs.json @@ -2832,7 +2832,7 @@ "\nSetup contract for the Spaces plugin." ], "signature": [ - "{}" + "{ hasOnlyDefaultSpace: boolean; }" ], "path": "x-pack/plugins/spaces/public/plugin.tsx", "deprecated": false, @@ -2907,6 +2907,19 @@ "children": [], "returnComment": [] }, + { + "parentPluginId": "spaces", + "id": "def-public.SpacesApi.hasOnlyDefaultSpace", + "type": "boolean", + "tags": [], + "label": "hasOnlyDefaultSpace", + "description": [ + "\nDetermines whether Kibana supports multiple spaces or only the default space.\n\nWhen `xpack.spaces.maxSpaces` is set to 1 Kibana only supports the default space and any spaces related UI can safely be hidden." + ], + "path": "x-pack/plugins/spaces/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "spaces", "id": "def-public.SpacesApi.ui", @@ -4359,6 +4372,23 @@ "path": "x-pack/plugins/spaces/server/plugin.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "spaces", + "id": "def-server.SpacesPluginSetup.hasOnlyDefaultSpace$", + "type": "Object", + "tags": [], + "label": "hasOnlyDefaultSpace$", + "description": [ + "\nDetermines whether Kibana supports multiple spaces or only the default space.\n\nWhen `xpack.spaces.maxSpaces` is set to 1 Kibana only supports the default space and any spaces related UI can safely be hidden." + ], + "signature": [ + "Observable", + "<boolean>" + ], + "path": "x-pack/plugins/spaces/server/plugin.ts", + "deprecated": false, + "trackAdoption": false } ], "lifecycle": "setup", @@ -4398,6 +4428,23 @@ "path": "x-pack/plugins/spaces/server/plugin.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "spaces", + "id": "def-server.SpacesPluginStart.hasOnlyDefaultSpace$", + "type": "Object", + "tags": [], + "label": "hasOnlyDefaultSpace$", + "description": [ + "\nDetermines whether Kibana supports multiple spaces or only the default space.\n\nWhen `xpack.spaces.maxSpaces` is set to 1 Kibana only supports the default space and any spaces related UI can safely be hidden." + ], + "signature": [ + "Observable", + "<boolean>" + ], + "path": "x-pack/plugins/spaces/server/plugin.ts", + "deprecated": false, + "trackAdoption": false } ], "lifecycle": "start", diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index 69ff7c2ca418e..93a0e52b90e40 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana- | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 253 | 0 | 65 | 0 | +| 256 | 0 | 65 | 0 | ## Client diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index fe29475632f72..166a22a1b7410 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 3785899ec39d8..318e324827c7e 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 08c0ee81dd96d..e8c1413cf8fb6 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index 85fe972cc9c69..d9b59adcd3aa1 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index 1c923213f1995..30257cb5908f5 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index a0a229d425878..7194548c33e7f 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index c461f62dc6774..8cd210ae1bb43 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 50eac70271edd..da617f1408669 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index bb62e8ac55691..c5c15b0cf57f1 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 45c25410323dd..c968283d9a102 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index e7211500b750d..0b21b8ae4a558 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 8cad829571754..f84603bce55ca 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 6ffc98a21a1ed..773ed85cc99a2 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index 88e1395458c24..de7f762539eef 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 0421a2cc43973..54509992e7d09 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.devdocs.json b/api_docs/unified_histogram.devdocs.json index afa74e73e7990..4288127fabc2b 100644 --- a/api_docs/unified_histogram.devdocs.json +++ b/api_docs/unified_histogram.devdocs.json @@ -466,7 +466,7 @@ "section": "def-common.RequestAdapter", "text": "RequestAdapter" }, - " | undefined; } & Pick<", + " | undefined; isChartLoading?: boolean | undefined; } & Pick<", "UnifiedHistogramLayoutProps", ", \"children\" | \"className\" | \"query\" | \"filters\" | \"columns\" | \"onBrushEnd\" | \"disabledActions\" | \"timeRange\" | \"services\" | \"dataView\" | \"relativeTimeRange\" | \"resizeRef\" | \"appendHitsCounter\" | \"onFilter\" | \"withDefaultActions\"> & React.RefAttributes<", { @@ -1176,7 +1176,7 @@ "section": "def-common.RequestAdapter", "text": "RequestAdapter" }, - " | undefined; } & Pick<", + " | undefined; isChartLoading?: boolean | undefined; } & Pick<", "UnifiedHistogramLayoutProps", ", \"children\" | \"className\" | \"query\" | \"filters\" | \"columns\" | \"onBrushEnd\" | \"disabledActions\" | \"timeRange\" | \"services\" | \"dataView\" | \"relativeTimeRange\" | \"resizeRef\" | \"appendHitsCounter\" | \"onFilter\" | \"withDefaultActions\">" ], diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index c3de85536fad8..42a8be63b6801 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 8d2a45d60378d..842230bda38af 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 0b1205bf549e7..003ca33e72711 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index bdd26971bd8bf..426fa0ed16026 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 04ba8af801efe..5245b054f941c 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 512ef831467d1..b47e58913879b 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index 18551d40c26f4..b089c7bfd976d 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index 309b891140656..658fa05c359fe 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 72a4f8bca4191..fd4c3bdb2fc68 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index 8771fa90666d6..5022792178df8 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index f5cccf308d3cd..ad0f29e9cf812 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index 159256d4eafd4..70f442917145a 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index 730c543f5831c..b6ef02b734085 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 7e4c66fa61d8e..8d976ec4e7d68 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index ffbbdc47f42b1..bb795fb9579dd 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index 687b221d4b076..ae7d2377077b5 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index 70503945e3f7a..c4d205922dc7b 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index c18450f48713f..1c123af53073d 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-14 +date: 2023-09-15 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 800a87df45eaf67d00aef9d145e09fc43b4823cf Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Sat, 16 Sep 2023 00:53:40 -0400 Subject: [PATCH 061/149] [api-docs] 2023-09-16 Daily api_docs build (#166569) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/462 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.mdx | 2 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 2 +- api_docs/deprecations_by_plugin.mdx | 2 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- api_docs/kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_common.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- api_docs/kbn_content_management_content_editor.mdx | 2 +- api_docs/kbn_content_management_tabbed_table_list_view.mdx | 2 +- api_docs/kbn_content_management_table_list_view.mdx | 2 +- api_docs/kbn_content_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- api_docs/kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- api_docs/kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- api_docs/kbn_core_application_browser_internal.mdx | 2 +- api_docs/kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- api_docs/kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- api_docs/kbn_core_custom_branding_browser_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- api_docs/kbn_core_custom_branding_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- api_docs/kbn_core_deprecations_browser_internal.mdx | 2 +- api_docs/kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- api_docs/kbn_core_deprecations_server_internal.mdx | 2 +- api_docs/kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_mocks.mdx | 2 +- api_docs/kbn_core_environment_server_internal.mdx | 2 +- api_docs/kbn_core_environment_server_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_browser.mdx | 2 +- api_docs/kbn_core_execution_context_browser_internal.mdx | 2 +- api_docs/kbn_core_execution_context_browser_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_common.mdx | 2 +- api_docs/kbn_core_execution_context_server.mdx | 2 +- api_docs/kbn_core_execution_context_server_internal.mdx | 2 +- api_docs/kbn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- api_docs/kbn_core_http_context_server_mocks.mdx | 2 +- api_docs/kbn_core_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- api_docs/kbn_core_http_resources_server_internal.mdx | 2 +- api_docs/kbn_core_http_resources_server_mocks.mdx | 2 +- api_docs/kbn_core_http_router_server_internal.mdx | 2 +- api_docs/kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- api_docs/kbn_core_injected_metadata_browser_mocks.mdx | 2 +- api_docs/kbn_core_integrations_browser_internal.mdx | 2 +- api_docs/kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- api_docs/kbn_core_notifications_browser_internal.mdx | 2 +- api_docs/kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- api_docs/kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- api_docs/kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_api_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- .../kbn_core_saved_objects_import_export_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- api_docs/kbn_core_saved_objects_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- api_docs/kbn_core_test_helpers_deprecations_getters.mdx | 2 +- api_docs/kbn_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- api_docs/kbn_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- api_docs/kbn_core_ui_settings_server_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- api_docs/kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- api_docs/kbn_core_user_settings_server_internal.mdx | 2 +- api_docs/kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- api_docs/kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- api_docs/kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- api_docs/kbn_management_settings_components_field_input.mdx | 2 +- api_docs/kbn_management_settings_components_field_row.mdx | 2 +- api_docs/kbn_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- api_docs/kbn_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- api_docs/kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- api_docs/kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- api_docs/kbn_security_solution_storybook_config.mdx | 2 +- api_docs/kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- api_docs/kbn_securitysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_alerting_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- api_docs/kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- api_docs/kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- api_docs/kbn_shared_ux_avatar_user_profile_components.mdx | 2 +- api_docs/kbn_shared_ux_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 2 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 587 files changed, 587 insertions(+), 587 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 056a78ee2ce68..8e756b1d28ad9 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 6c2bef6b38da7..b877ec225405a 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 11a9d8bd61b58..dbd0522754a70 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 055efa222912d..12be54e13e36c 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 670af68a4d436..3566f956e5fd3 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index 5c660cc86ee27..af6b2a8e7d3c6 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 724b58bbd52bc..168e97feec649 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 1209ffec44405..e8e186955453f 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 240a82282dc6a..32726ac5619e9 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index c84dc6f53e8a0..52726f2aabe72 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index c6db93fb939e5..0a4bded6ea63f 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index da175f81604f1..eb33584a298c6 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 3132a3eb15956..b330798e85280 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index af939f7fa2c25..705e89f0625cd 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index d11f74ddd830b..ac0893a0d1c8e 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 6fb2d08c94b8f..fa27678979388 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index e65989801251e..ea543570fc6c5 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 608dcab603af8..5cc4ae7c1de24 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 094e9107d681a..b9dce36c9438a 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 5bef88e85167a..9dcd49377e9ae 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 0ff02c31a658d..974eaf7db8aec 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 8da4be621fce8..5996c17cdae0b 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 7bf4bc6b386ae..0033170c5976a 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 2a15ea36e73b9..8e89cd3bacc87 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 79b8bd5b1cb89..7a119db49a26d 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 97dc4fc5d0b01..7423ce210e26e 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 460b0494a1c73..4093a923fd91c 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 3a62c8e86f322..467e0c1ebe64d 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 1aa85705082da..aa2ffbce35fce 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index 2ec8cb899dbf0..92be1ad3dfd8f 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index 824f1d3206ca2..6d0c00fe5b116 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 0a92967ff2187..714b1a5d6d216 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index a56784600ffd1..75210d466cd5c 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index d305bd859a9ee..6df51abca263b 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index e730f1ed9bd28..666a4ceceed90 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 069a3c7e130f6..948d9758fd928 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 8b4cff76746b9..d46771ec4eb50 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index a9646c679e0af..85bffb395b8ea 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 1cb76cead8135..901a23c16fdab 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 41c13840a7b14..5a987f12690db 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index a6f1a0e900419..b4a882b8906b2 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index aa6f44a6dd30d..7b688dc8655ad 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 54c34f6bb630a..8af64809ceef5 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index f63d8194d6ee0..1ae48950342a2 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 44c59c446c2ed..9406c7a19ca3b 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index 11c4b82dfd840..b0b973b5a53e2 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 69edbe3773d44..b36bb65333ccb 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index 941899dda1d22..a94b1f89dc9e4 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 1c700ba570c54..ce623ebeda118 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index 5ed0bebdc074a..bd4fc330fcb3e 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index 9392385b24b86..0b9fab98865c6 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 62a654f225abc..27483a359f418 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index a1b76ebb90b78..a3e2f864cee12 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index 7cfd75220e496..17ac0774fdedd 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 044636237c53e..7f53d29d838c7 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index 4c46f582212bf..53e49358be1c3 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index 79186a028bac9..4b21c18134a2e 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index a135658727efe..779fb0f3d146f 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index 06db600b42833..c83cabc55184c 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index eb877f2db0864..29974858ad72e 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index 38b308fc138e3..6e82d0d68330d 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index e8db870506fa4..bbfccbe06ebae 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index 48333ac426b0e..f78d59a032851 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index 56a55c2fc7307..f1adb8a1a2a78 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index f041f1947484b..0dbcdb0f1444b 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 71ed3d5631628..a8070868105cc 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index d49e45fb8586e..f30fe22999e2b 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index cda9887942f22..de36533f5766b 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 4eab6a61f552a..2ed77908e5da4 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index 7d8eda88fe646..d3f3e107cb2ef 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index ad4fea141a92c..55ac70ca30b37 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index b399f841abcd6..d5b5dd62d66f4 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 55426c1e9f42d..331ac5c132f79 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 0544c3589e603..6d355e15ee998 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index dd95b9e2e7c21..c07d0a6393c68 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index 152f61131a42c..cb5373faeb001 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 1d1215588b23b..6785eebfb44fe 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index cf3a080b562ae..cbd5ba83cf8fd 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index 2f8f5989dedcc..885012240eefe 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 28ff339133fed..88f2a074f774a 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index 22287152e7f90..95ffd3943b4b9 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index e9a7df9cb315e..5f3dccc5d0500 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index b82bc28f8afc4..e05c09790975d 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index ff2014b13f8b9..57c0dabdc37e4 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index e3f6f5e495e2c..66112759c9db2 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index 831271e6ae332..a2f9e91b01a66 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index b4043b7094b41..e920beac1ee68 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index 5f99184557764..f6e891254503b 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index 46b19b336f418..e406ba9a34453 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index c9a1e107fa0df..1bff9254bd1b1 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index e2e597d54ae6d..c6ab44aa0cdad 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 6b98e2252e59e..67c999ca50b9b 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index 295e8c8a5cb76..95f7e4c74a1f7 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index fa0744478b723..f25fe28d77197 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index b267ffcfe0d0f..242dfd64769d5 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 16ea3877e3289..5ff0fc1225a35 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index df1f389ff7b09..2b238ec163d48 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index 1e332ec048783..c80f717a1e514 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index bb4e5272a9b10..819dc6dd0a2a4 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 0d14c2335a2e0..ae3aea69c410e 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 2d56bacae9404..245f1b10cd33c 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index 8be3cb99b29fd..b75caeca1fa65 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index d784226093817..c52519bcc862c 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index 43ef859c468ad..73057b54c2754 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index 79e01c2c071c1..6668d2a5b909b 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index c5a2058fd3c90..2d62a0396f5ed 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index cd9a6e817fa5d..623b4a136c5f7 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index cc94bdfbdb1f5..be78188db5fa9 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index f75c6a4194020..9a3526f8d55b9 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index 363d9002fe27e..873a116363fe9 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index b9266771cfbd8..132a582a11125 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 9ef52a21c968e..87bb82e4738cf 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index 4e0048ab49bbc..cd35a70520e55 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 88ff33ff74691..fdb62646a9cdc 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 619ce94975c3b..945b648152c0b 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 0b6948d747069..411546d240dea 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 0277b87568981..8879de82759d4 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index 5563f241ba752..7ce12abd81781 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index fde57de040457..3cac1b5073f54 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index f998db46dd86b..f867c4dfae03c 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index 32fc14e9f6fe5..89727ab5ee6c3 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index d3428d2e595d2..41c667df602e1 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index e61930c03ef15..449457af36d15 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index 0f2ba4b62e979..3216c2512a2d8 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 43fc070cfe6c5..172aaf75bf395 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 8206dfcda7ecf..7d650851d2322 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index b4062f513d312..8a34055163ad9 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 754dc9e962188..7e536bb3c80de 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 92d2183cf183c..69199645c8ee3 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 82b74db21a003..ae5e42ee30a20 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index 7d28dadf2e1fa..8dac582596128 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index 1f3e2bdaff371..a6cd17b343ec8 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index f50a6cf780cd7..1dbfcd6d01dba 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index a914faa1c1e1c..510322e9a6851 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index d1a25a6da499d..17b263646651e 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index d0ab7ddbfc4b1..b10b633a23449 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index ea080bfe34b33..51df90e85568c 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index ad1982b9083bd..1baa1400b72d0 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 70630a6cc1cdd..8befdbe4efb5f 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index 07d5cb6b8e8d8..b13e23c106350 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index c0c9589d08881..c2235048ef18f 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index 92b7193b0859c..f1abfe097a458 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index b0cd685daf873..8a3a85fc1be23 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 964c1cc1be540..19d893d30386b 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index ea111f2a6353f..c5745aae02aa5 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index 2dbe030c50512..0651025392f4e 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 5c599b8d22868..289a6cb844d82 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index d67e7778f4d41..c78231e1e27d4 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index 5216339a0434a..e47e915819e46 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index 5eaed7b71363d..6f555c7c43324 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index e6052982e6b8b..8e40ef1f39af5 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index fcd3ceae94007..f63c1684f07be 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 128ae72777d9e..76d3b5851d05e 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 92526c5baf2ee..3243a8a3cfd5b 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index c525135d96d72..d5f736b5e0d31 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index ce18a706cb1d3..515512908393f 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index f9453e046524c..37877d8645e86 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index 727171bcf7974..a94052975a2b1 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index f94e7db630e57..95a882b31a5d7 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index d31caf2b61b48..2947940248a1e 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index 19ba90a3ee613..0c35fa12a5a69 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index de0e7cb5d12bd..fa8fb1925a6af 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index 0424a2a1b200b..a7465e7d2d9aa 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index 7c385b15ef937..f2abea084144d 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index 4d237059cc91f..66aa89fbf9827 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index f664f7628c278..0d0d03a17287f 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index b38ed02c6e891..fe22065d61b1c 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index 1646ce0f05f5d..8c654fbe4e94a 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index aca4097e14a07..46bbbd25ffdb4 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 5298b7cba00fa..dc47495962fdd 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index 9af50bb156d83..e014c1f65a5f6 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index 9e3128084510d..cee70719510d3 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index aac3b0c6a026a..6a857fc763722 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index d5d59be2f2cc8..3533cada95f3f 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index 9b1140f8677f9..f12cbb8f560a9 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index bf2706793c518..8ef6928be2d35 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index 6feb3b63c66a7..f9051d4be7d5e 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index 8b39313094778..5010700af663a 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index 509ba64ed79cd..9632417d97a08 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index 7787f0789c670..32371fa3e881f 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index 41d7e066988e8..70435e8900fb4 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 09292f04acc71..62c4d601228b5 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index f2ece246d9b71..6afe89bf7ec6d 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index 5ef026994acc1..c192a1f7d34a9 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index 2bc75b16ebe5e..bd17112c851d1 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index e41e31079a6f4..70fec81a1600d 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index f3ef54d91115e..1699938318d95 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index 97ce5f4c6f179..7fd219d7d3bfa 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index fe699f13e4b4c..68dec69adeac5 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index 8d189612e9f59..908cc14e43a5c 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index a4fde0cf5ad8f..3f7eb040e3d87 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index c8dc915ee4653..93af3811a6145 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 8f238bd44de7c..236117c87eb00 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index cd9d673a3c858..975887520d9f8 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index 03b23a313496d..32fea123b7185 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index cd0138ce23127..a79d5d95fcd6a 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index a814c1ae77630..c65d53aeed4b2 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index df11710fc6473..00b8c72ea982c 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 538f00e169b26..0be2a17f23708 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index dac0c9e2f757b..351325d6fcb54 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 4f32bc7c405d1..1cfadfaa33598 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 8690f849c206c..12bf6da70cd35 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index 71f67829e55c3..0603f2c22a481 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index 1f7313ec0cba3..cc29c18b5eccc 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index a290fdb3caf6f..0f3288c527f1f 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index af695ccd6f05b..f221890918bce 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index e44e0297447e2..9ef95571d6ec4 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index c96fcd90d25d9..1bd22908cf05f 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 6ac5bb621ef9f..320d3491ddd4e 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index 7c0cb33f397c4..eb9b8e61bd789 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index 75b1660499023..b32981d8db948 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index b3a4877c556e5..600a6ce2c4e85 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index 56e2ec6118b61..5114b5ef550ba 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index f2fd56eec6186..eb45e7cd7de56 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index 3260545f639de..51da161fea69a 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index a69f3d4659f00..0002e4a403d98 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index d87d65efcd31a..bedc0e434b931 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 92f3a1a726e5a..309afd3884b3a 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index 00e4e25e0e926..06b4bab3b2281 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 8cfd893c20aea..7c199f6afde67 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index 662689e7c0ff5..9331ff6fd7858 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 3617cb5985adc..e837bf25fffae 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 816a0aea73175..383e75f4d39c8 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index daf600d189235..a62bd5154bb4d 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index 15cbd51460740..c2e152f2185e1 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index c6d9d2cdc27a6..74fef18e566bb 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 09b84c250e660..a18dc730d73ef 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index d207e2560afcc..fcc12071b4f8e 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index e8f958c741e8b..6ab54881ab4e7 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 794fba03b2caa..1f8a78a44b28c 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 1f685943b76a9..46cd8adeec708 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 8ab77ece43682..e875521f7e729 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index 5273044fe4571..ab28fc5d8783c 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index 270c528291e0a..cf4116caf19a9 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 47080516a52d0..73ee01782a5da 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index 7a1ef7fa11a44..b5d748a52e7e1 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index c361df3b8feca..b5ceef2e777ca 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index c70790b674d43..be9072f0e4529 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 6d7b5a6e5f52d..fd721c641376f 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index cb8e6b10a2f03..e8172614844c3 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index 0981e060e1a4b..eb7c5acee8d0d 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index d34a8d6ed5734..b5a906e58f29f 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index 496282c263f55..78429bd38bef2 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 4a14ca428703f..08cedc47281f5 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 34a0abd67bac7..3d09c1a16bc3a 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index 3182b7d0985fc..c1969ff7fcf64 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 3ec2540969ec8..2f2d8700a177b 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index ec45362f42ccc..f6bfeb127f620 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 78ec1a563aa6e..d7e033962fc9e 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 8c0a7c605535f..a95c85aef9c37 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index be4a80d2273f6..0dabf2f727906 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index 4ef1c5ae0f5f3..a76db2618c59f 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 7916e5e76ee6f..f587c7486d7ac 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 26048cbabd58a..1240773f8f285 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 9c85706a265f9..bacd8c4074058 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 96791c21ab293..76f2c659c0539 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 56507ffb33409..2dcb3799bbf4e 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 915121982ae77..3158b396d302c 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 0d3df47f681c7..c39e3a95b7cab 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index bdb092d8eef3e..1b6b496ff01ce 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index de7d6538911ea..f3ae61bddca70 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index ddcf51b6add83..5f7e5253e8de6 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index 552b1d02e636f..162f712a79987 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 3b55aa1eed226..323971c10f5c8 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index d31fa36488586..3ad2e6c3f5384 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index 1ba39330be373..f2db0b00fb013 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index d3c78dd0b54ed..eedd3364ff4e7 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index de87c0b169400..e94ae89864a72 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 2ec0f6f3414db..3d43868ad5bb8 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 3bc417262bbfd..f5066fad2f930 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 4f420e972c4ab..425a2531f5965 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 67e36c6d8d6cc..3b4434e7d04ed 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index d0388e3f12bf5..03a8fe5503a63 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index 2d08ce91f3f5f..528e97e474e28 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index cf069866de5c2..ee13a8d30520a 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index af3f18f9a9e15..a5a8d1ece6c35 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 9a8071d53e99f..561f30321c9ce 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index d8c6e5d6faa91..b884da72ef8ec 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 32615e2092bc0..283c43a32e967 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index 818da9525505f..72855aea447dd 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index 849d29b67a2d4..ed671de8bf406 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index c0a0ed8b7e1e9..dc69c5b1e51be 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index 8786184a23a89..2ce0acc9109c2 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index bc691fd544821..19b4f26db20a2 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index b7f632d477829..f90fd9b4c1c35 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 6d420259a7979..077dc04b14c4b 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index a900ca31ec3d0..8b1a8a6d2442e 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 052eeb8a143a1..c638cd5b02c66 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index ddd7a0cea9253..dc762c12268a5 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 88a2d60b12e58..874e379971558 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 52aa70fdb02aa..632b6851d1c44 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index e68ad9cd8cd18..0cbe305d95267 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 3ffd1aa4661ca..2dc3fe764321a 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 593051ac21c19..d74d52371df6f 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index 39216f8c3af07..a3dd4e7d95c0c 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index f7c5bb2454ab8..4015b041af24d 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 6d99b8aec8f5f..0fe733a604fed 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index c6f68dd16f1ad..6366e66b1508b 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 4a73b7475db4f..d922109843f3c 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 5eb0289bcd437..12f38999e1656 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index cc3f3b2ffd7c4..8db7f3bb462b7 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index fd680ca118d8a..5c70b0446e6eb 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 5a609247e88b7..8a9468dbb4ca5 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 9fbcb2a64cd90..88675e82eb0e8 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 82d694d2c0db1..2352686181283 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index ec2562b406a29..32d71052df8fc 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index e75f864e6ea37..cae3201e128bd 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 8fe9c1deffb52..0752b0811d323 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index 07cec620c6424..80c9aeffdbd9a 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index edc2a386a60ed..4e09c58ced8f5 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index fedaa5978785c..4ce16dd124611 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index f1de138952c93..65e8a87535235 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 34684c1cdb1a0..f359f8e4a771e 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 41ae071db5917..04673f56d19be 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 64c2b648652f4..a1b4224659b11 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index 867b98101e944..a99265e2edd86 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index b32e1c03f34eb..fddefcb51af7f 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 16ea8913b8fcb..356929fd3e0ac 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index ac9978526c1c5..12e6c7829fb27 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index cfb6ccbf1368d..7e01b718da2e1 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 9456989c73734..72269a6ec56ed 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index fd26e9cf20487..429e532650cf3 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index f313af0e4296d..c9339778f3702 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 7a204767e741a..b530c8fa4d262 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index f5d72408f794a..d797007d0de4e 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 4d4f32f88c9d8..20706aa1c89a0 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 163be0e0b693c..c2473953e38b5 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index b3f40e8aa786e..427bd7473cbb4 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 2ec3ab07f13ca..b2fab75c5b6fe 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 3cba675e1961f..3b387eafdd460 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index 1fcf47b0f3efb..fd351078add26 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 07189b3715135..bcc0262ed6cdd 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 28ff0d80a1d61..212e79be42d60 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index 936316e10d183..558dce5fbfe54 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 9f118560bde07..053c26a4307bf 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index 900fcb65a25c2..76d40f947ec91 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index a5f607f192c68..bb63414ff725f 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index b83182795471a..82acf333a7c02 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index a4b60bdb73200..e964d760e469c 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index bd2b6e24c2c2b..0b393875cb7f9 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index f0ceedae5ef52..b40b1317a3e9e 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index 352b17ca1e39d..0f11e31876047 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 5bac7c39cdca5..995efd2ebfdd8 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index 7a0950c1310b2..f52054f767fad 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 9261535936a4c..86cf181e304b8 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index f7dfa56a4d9dc..4a31b9ecd99c8 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 7ab28dfee4b37..771d4e179bc63 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index 794e631ab6dd5..6651c5ca93da6 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 98fb15fdeba33..fa0481f442771 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index 7a6e0e88630f2..8c93d58113b6c 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index e8b8efe91ec4f..08e34ac4cb6bf 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 7b0a2fcc97e55..5a1f35fac2034 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 9dfcb1ddfc528..3db213a28e09d 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 0b608a9282e49..e1fe35619a900 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index 7d03c293d80b7..80ed387868e23 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 9f5545dab3ebb..27375d6774b8a 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index e32361d6267ab..ca2e66bad415a 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index f4d79de25dd09..527658739e1bc 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 3054d511859ce..1eabd362da545 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 94bad78ca9c95..58845cc4214d6 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index ca0ce93f6f61a..7ef6b5a737e79 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index ec9d192316e99..6d09ae6175d44 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index a79248d84f444..6ec27bd2225a6 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index f1b5d24f50b69..a4d839635e783 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 2df7d55392bec..fa5dc58257f7b 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 2f423edf2b476..fb4091192c189 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index 07f32e37167c1..e0cacb39f74e5 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 4f7a22718b8ce..d73f78e4ebeca 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 10f3c4c5913b9..37e7aa67e4663 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 40bb560a4b16a..b7b48fd7d7a67 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 022aae348d884..96a986fab3db4 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index cf305c9e9016c..696960e379718 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index fad47a070f6fa..5dc1eb53b7bb5 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 65cc20f9d6240..8e06982e1288b 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index 4107eca32eddd..376572e4cd5c0 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index bd553abf41ab1..2a0a1984612e0 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 1c731787bb711..7115a7f11b212 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 8276e080c81f5..0ec08404ef5d8 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index 26f99807298ce..8ff8e347903a2 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index 0fe9cda9cff5c..ea79070706e78 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index e67853e28ad21..6b78c36ec3956 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 527d73be4dcff..8909e7997729e 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index b0e58e2c5b08b..0faa67ced74f6 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index e6681e6c5cd9a..fcc2f7325518e 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index d4be75076ddb1..4512f6811753a 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index ac5832fde8b3d..dd100457c412a 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index d4d7c8e2fc9fc..57ba261d0c59b 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 31f79d6d6aca6..8a9c35b027bb5 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 7ac42136cc8a6..967218a149a68 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 4ed82f53fc6ae..b168d1114e099 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index a671dabdb96fb..0fc9b66d3c178 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index f92918e995f28..3818d2e44fab7 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 4edd87e2ae83b..31ee38d3e1e0b 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 512910bd28cbc..f7ddb40758236 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index f52a7a68df95f..8bd1b60ad7fc1 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 7153d39528a1d..462f9a9d4940a 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 9bb48b4165913..0cc0b244f550c 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index b1e588c357da0..69e830a1c7c53 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 65df9d4b51e7a..54d17b6e120b9 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 5c07ff524ae7b..ed1c2f815ab45 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 4380cb77c9d6e..b0c93a114d9d2 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index ea456f5fa8260..823aa28ad5d0e 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index d88cbaff984b7..b6e4b1aff688d 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index b637cb7f229c9..f960e16fdfd4f 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 3f330762cf8c4..2dcd449f30d2f 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index a7dd50968059c..172891831be08 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 2238a5fe684b4..63fe52faaf53b 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 5c58b1e19e73b..1ce01f667fe3f 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 495e18670e44c..9e50cf6ec8c46 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index ca63ff0ba8be7..ee81577030937 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index eb6d3e97063e4..7989a3a2e2ea5 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 04bd9f09ae1c6..2093a355cf1cb 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 33d52e272b4e7..94ec599ca69a4 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index a0a275b3bad2d..6fdbd00d7f952 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index dbc0a23fcca7a..2fd55f6520a60 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index 09639eabe310d..be1f04af331fb 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 099173b673e1f..b46e96a15f130 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index a148fa0dd4319..2a2ab033357a1 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index ab3cc34c054e5..f52f4d5908dd8 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index da0e6480b3672..b6e894e12919a 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index 5bbc6280bb4e0..e95471efb1e05 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index 12a4bddd02167..6c025bc87f228 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index 8f0103921c260..85daecd0ae440 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index d8ca13c09183c..0c4d9204518f0 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index a397017efb243..46d3c19300dc7 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 44dfb40d8ee14..86594926c8f2e 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 2f2e012786b59..0d44ac9134cc4 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index a4ff203616370..96052a104eacf 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index 159e89701d7e0..a8e59c62ab10d 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index 5dca13612b8b4..a5e341b9e1686 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 4a9bdb19d8ad6..797bcb8644378 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 5267baad038b8..cef03d317406a 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index a16d551ba256d..0985e7b0153d4 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 87c211eaf8e1e..9a3252304d6a8 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index 37965bc82e998..97c0157e6340e 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index d7ce3492e784a..ae17e880a7383 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index bef185b02c7be..a32edc47c6eeb 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index b0790fb7a4251..1b74e5c12a283 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 2cafe9285a2a2..f8a14ffdb24b4 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index cf9162b80960c..60067d38b3248 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 9cd9b3344559f..29bfe4d7ff763 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index f9c02ddc891c5..700acd34dd5ac 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index 255c32a539b97..baf5da5ae4e13 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index c6975306bd9b4..8d6ac84ba4ee8 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index a03452043ce68..388dfc4029301 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index f1ad00c2d6e22..907141e7d18a7 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index 42a5f872105fc..c82cab2a0baf6 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 4dd5eba44e1a0..79576558e9024 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index 00a4466c8dabc..08399dfcbbf2e 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index 78d6deee8e209..60750596e3eeb 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index 83b850fd8e28d..f47dcd50dd7e0 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 15dd1388393f2..88f4771dbac9c 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index f0d9d5639f8e1..ef47723385917 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 8455073267b1b..0a91ba0779efc 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index 676708204a641..e7b74af2464e5 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 59aa9631f6497..bd5372d8631e4 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 201727bf5dfbf..dcc81bdf26e9e 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index 046eb0e1dffdb..79b2397ae0745 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index 1b18f70202b91..cf272cd25934a 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index bffdddbbb9054..69b01749996ef 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index fc5061057a623..aee27375fc406 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index dd6d74b4c82be..cfd8a3949ba8e 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index 9d99698f419b0..c3e948cbcfa39 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index 2da0077e6028e..2bfba679e0eaa 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index 1c25ff1d32189..74d5e079ab07f 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index f4c81ad9e6ca3..63c322c12a253 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 42128f83255f6..d5fed6437cbc2 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index ffc82034449ec..1966b91893a5a 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index 92ca821c395a9..dbf9c41428ad3 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index 75420b5a84e24..342c9f00ba9e8 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 3534d3de6481b..cab0323602063 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 4091e38403db7..40b380b764b2f 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index d0ac4522dcaed..2c267b7b8fb79 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 2860108b90f6f..a6e1b7b62c80c 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 4a1ac8437d868..e4fa4d265c566 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 1869ac5c06b3f..becb2e0b2eff4 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index de7e89066917d..dc20c46ab6381 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index c1d376233b7d5..c9e08501e18fe 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 2472e88fcd8ea..db084142473ff 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 4f785fcaec061..bcf1bc196f5aa 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 695d0718be55b..00ea8cf4185c8 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 07e26db4476e2..cfe496da550cf 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index f04cad05848c4..d858f1e3b52af 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 29fd8ffa7b3f6..104cbe4ef7b69 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index ccc8cd4108def..1e9c6c17f5344 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index ab4dda63f7a1e..e11259d50a623 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index ac71c51d94bf2..7cba5280d6cff 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index 1fa204150e096..82ab23dfaaa66 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index b6dc1319afbf9..842a6cc725906 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 7b1604981a43f..f3bd5b991941a 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index e6583162a9a4a..6031a92c8643b 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 5306215465d88..9b12d7af3bd74 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index 55e6ebabb7bec..bec96b10007d8 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index 092a9110e0331..b56f7235cdcbc 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index c2c9e3e169f9d..93151c9662d9a 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index a1d7325298a72..3b9a7d06e1ae9 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 4a3b5495d4630..90c4135b919e7 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 8528bc06ed699..e8cdfe66d5af5 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 889d7aae05b42..d49597e09e76f 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 5db8b9b4bdb39..57ec6558ef9de 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index 10edf30e98f41..65e31b8bb1845 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 5064048432bfd..6de2dd85e2693 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 8f193ae4bf688..94b49228010cf 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index e2e44976af5e4..bf1137695d04a 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index 8e6ab7f419a7b..d8ab2586b8f33 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 4bf00187f1dc5..817c22a4cd368 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 2fef394f4f7c5..ffc40f1e32099 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 862a019809d28..c1cbaa7345fe3 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 4f536cbbb6d52..d60da68b5eafe 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 2583a1cd31d03..dfecf89a79bfe 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index 90dbad80f2a75..f198e8f06fb79 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index 16af50d6e8340..bc5124531256e 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index 5986f481548b4..cb2b523a3a856 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 8f86ec5ac1df7..35f9ab7fcc61b 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 57328d6bb758c..de2e8f924b102 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 6d41663b0f69b..560c13b59b125 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index 5d7516cecf16e..1f5a9474a2797 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index 48414a4d076aa..bd52005bad914 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index ebedc2bddc0f9..883d864519811 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index ce3ae2ba7e7f6..de13ef2fa03fb 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index d93c3d7ec8672..bb1d1f6f01202 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 8bb10d67f2aca..c21954570cb51 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 3684cc9dafe72..6fc01593e875e 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 7476c6d994c04..829614bf91064 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 4bbd88b47375c..27ebf2c6f647b 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index 67fe1ed926daa..8ff5523cb5a58 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index eeeb699789c9a..7f126f7856295 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index de4a4c9fd4521..6cc7380f2ec08 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 50259ec3562d0..50f3f5623ff0c 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 6c0d2eb89fef0..0fca245710a1f 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 370f739fbfed5..07861cdaab4af 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 1e97f0b96cea9..550604e1f92d4 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 8091104263cf2..05186b3837ec3 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 0028ffeddfc84..b78ee68addedc 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index 2fa5f22776cd6..d546a0fcbfe5c 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 82521772ef865..1289b8082f15c 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 2bddcc941ffe0..81be3ed82e94d 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index 4069de2d539e0..a9d1c9de75842 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 75b419fc5d2bb..6f90cd670eb91 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index bda93a32fc832..0cf3153c21f52 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index 9a10a021c3ede..a1fafc0d9e600 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index e52651b9f9cf7..e0be883a82619 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index 36c9c1efc94ff..0b6812e03161c 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index d93d01f915aff..a0e5f3958528d 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index 83d59fa81ddeb..aa482454e241f 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 622d555444660..56d20bd218a1d 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index 9934c1618ccb5..449cec5c99f47 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 42583ada0d748..b7690903dcb37 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index e8db2e892e065..58fee5b981a9a 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index c1c90f68d58d5..eb69dc2ee18dd 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 3abf7470b3647..53cffa4d8addc 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 78b8bfca5bd51..7f1e3c24847e7 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 5de8ab35a7aec..bd2066e176725 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index 93a0e52b90e40..bfa5a722cbe4d 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index 166a22a1b7410..90e6d6601053f 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 318e324827c7e..168bfd57d3ee0 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index e8c1413cf8fb6..445ca35f47bac 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index d9b59adcd3aa1..0c2df964763bf 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index 30257cb5908f5..990f3387c15e6 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index 7194548c33e7f..dede2c68c8e54 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index 8cd210ae1bb43..0536c71dec572 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index da617f1408669..db66b02453219 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index c5c15b0cf57f1..10ab57a2aae1e 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index c968283d9a102..daa142d2f5a98 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index 0b21b8ae4a558..aab4cc3ca3b84 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index f84603bce55ca..056cec5992083 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 773ed85cc99a2..827c0b3e6ad9c 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index de7f762539eef..2bbf550db6304 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 54509992e7d09..1ef1858c6d3b6 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 42a8be63b6801..da803dcd3ebcd 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 842230bda38af..d59ecfad68141 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 003ca33e72711..55e54f1cc260d 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index 426fa0ed16026..17e4d25bdd873 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 5245b054f941c..c28952cd54fea 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index b47e58913879b..9860d9ed2ff23 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index b089c7bfd976d..9d06563a6ec9e 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index 658fa05c359fe..69c5eadc53b07 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index fd4c3bdb2fc68..5d317162ac2fa 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index 5022792178df8..9bd200893416f 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index ad0f29e9cf812..6554613743fa6 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index 70f442917145a..54fd8cdc5d6b5 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index b6ef02b734085..ce5461037ebd1 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 8d976ec4e7d68..18826619ca39c 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index bb795fb9579dd..2ee902d8111c8 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index ae7d2377077b5..9e1d6f7a4f8ad 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index c4d205922dc7b..2b00479a62f29 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 1c123af53073d..af8226cbd8de6 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-15 +date: 2023-09-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 46d790921a9a5600a0e5c06dcbcb49b9a1217c49 Mon Sep 17 00:00:00 2001 From: Youhei Sakurai <youhei.sakurai@elastic.co> Date: Sun, 17 Sep 2023 11:29:12 +0900 Subject: [PATCH 062/149] Autocomplete on multi indices (#164608) ## Summary This PR makes autocomplete able to be activated right after `,` (comma). ![autocomplete-on-multi-indices](https://github.com/elastic/kibana/assets/721858/4f3d1530-c5ac-438f-a08a-ef2e4fe57d9c) Fixes #163000 ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) ### For maintainers - [x] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) ## Release note Fixes a bug that autocomplete does not work right after a comma. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../public/lib/autocomplete/autocomplete.ts | 38 ++++++++++++++++--- test/functional/apps/console/_autocomplete.ts | 33 +++++++++++++++- test/functional/page_objects/console_page.ts | 8 ++++ 3 files changed, 73 insertions(+), 6 deletions(-) diff --git a/src/plugins/console/public/lib/autocomplete/autocomplete.ts b/src/plugins/console/public/lib/autocomplete/autocomplete.ts index 74d06cd21ed70..487ed95672d83 100644 --- a/src/plugins/console/public/lib/autocomplete/autocomplete.ts +++ b/src/plugins/console/public/lib/autocomplete/autocomplete.ts @@ -25,7 +25,7 @@ import * as utils from '../utils'; import { populateContext } from './engine'; import type { AutoCompleteContext, DataAutoCompleteRulesOneOf, ResultTerm } from './types'; -import { URL_PATH_END_MARKER } from './components'; +import { URL_PATH_END_MARKER, ConstantComponent } from './components'; let lastEvaluatedToken: Token | null = null; @@ -980,10 +980,38 @@ export default function ({ context.token = ret.token; context.otherTokenValues = ret.otherTokenValues; context.urlTokenPath = ret.urlTokenPath; + const components = getTopLevelUrlCompleteComponents(context.method); - populateContext(ret.urlTokenPath, context, editor, true, components); + const { tokenPath, predicate } = (() => { + const lastUrlTokenPath = + Array.isArray(context.urlTokenPath) && context.urlTokenPath.length !== 0 + ? context.urlTokenPath[context.urlTokenPath.length - 1] + : null; + // Checking the last chunk of path like 'c,d,' of 'GET /a/b/c,d,' + if ( + Array.isArray(lastUrlTokenPath) && + // true if neither c nor d equals to every ConstantComponent's name (such as _search) + !_.find( + components, + (c) => c instanceof ConstantComponent && _.find(lastUrlTokenPath, (p) => c.name === p) + ) + ) { + // will simulate autocomplete on 'GET /a/b/' with a filter by index + return { + tokenPath: context.urlTokenPath.slice(0, -1), + predicate: (term) => term.meta === 'index', + }; + } else { + // will do nothing special + return { tokenPath: context.urlTokenPath, predicate: (term) => true }; + } + })(); - context.autoCompleteSet = addMetaToTermsList(context.autoCompleteSet!, 'endpoint'); + populateContext(tokenPath, context, editor, true, components); + context.autoCompleteSet = _.filter( + addMetaToTermsList(context.autoCompleteSet!, 'endpoint'), + predicate + ); } function addUrlParamsAutoCompleteSetToContext(context: AutoCompleteContext, pos: Position) { @@ -1112,11 +1140,11 @@ export default function ({ if ( lastEvaluatedToken.position.column + 1 === currentToken.position.column && lastEvaluatedToken.position.lineNumber === currentToken.position.lineNumber && - lastEvaluatedToken.type === 'url.slash' && + (lastEvaluatedToken.type === 'url.slash' || lastEvaluatedToken.type === 'url.comma') && currentToken.type === 'url.part' && currentToken.value.length === 1 ) { - // do not suppress autocomplete for a single character immediately following a slash in URL + // do not suppress autocomplete for a single character immediately following a slash or comma in URL } else if ( lastEvaluatedToken.position.column < currentToken.position.column && lastEvaluatedToken.position.lineNumber === currentToken.position.lineNumber && diff --git a/test/functional/apps/console/_autocomplete.ts b/test/functional/apps/console/_autocomplete.ts index 1944b5ec24761..54e35bff86ee9 100644 --- a/test/functional/apps/console/_autocomplete.ts +++ b/test/functional/apps/console/_autocomplete.ts @@ -273,7 +273,7 @@ GET _search for (const char of ['/', '_']) { await PageObjects.console.sleepForDebouncePeriod(); log.debug('Key type "%s"', char); - await PageObjects.console.enterText(char); // e.g. 'GET .kibana/' -> 'GET .kibana/_' + await PageObjects.console.enterText(char); // i.e. 'GET .kibana/' -> 'GET .kibana/_' } await retry.waitFor('autocomplete to be visible', () => @@ -281,6 +281,37 @@ GET _search ); expect(await PageObjects.console.isAutocompleteVisible()).to.be.eql(true); }); + + it('should activate auto-complete for multiple indices after comma in URL', async () => { + await PageObjects.console.enterText('GET /_cat/indices/.kibana'); + + await PageObjects.console.sleepForDebouncePeriod(); + log.debug('Key type ","'); + await PageObjects.console.enterText(','); // i.e. 'GET /_cat/indices/.kibana,' + + await PageObjects.console.sleepForDebouncePeriod(); + log.debug('Key type Ctrl+SPACE'); + await PageObjects.console.pressCtrlSpace(); + + await retry.waitFor('autocomplete to be visible', () => + PageObjects.console.isAutocompleteVisible() + ); + expect(await PageObjects.console.isAutocompleteVisible()).to.be.eql(true); + }); + + it('should not activate auto-complete after comma following endpoint in URL', async () => { + await PageObjects.console.enterText('GET _search'); + + await PageObjects.console.sleepForDebouncePeriod(); + log.debug('Key type ","'); + await PageObjects.console.enterText(','); // i.e. 'GET _search,' + + await PageObjects.console.sleepForDebouncePeriod(); + log.debug('Key type Ctrl+SPACE'); + await PageObjects.console.pressCtrlSpace(); + + expect(await PageObjects.console.isAutocompleteVisible()).to.be.eql(false); + }); }); describe('with a missing comma in query', () => { diff --git a/test/functional/page_objects/console_page.ts b/test/functional/page_objects/console_page.ts index 21a183c832606..a48578a60bc17 100644 --- a/test/functional/page_objects/console_page.ts +++ b/test/functional/page_objects/console_page.ts @@ -429,6 +429,14 @@ export class ConsolePageObject extends FtrService { await textArea.pressKeys([Key[process.platform === 'darwin' ? 'COMMAND' : 'CONTROL'], '/']); } + public async pressCtrlSpace() { + const textArea = await this.testSubjects.find('console-textarea'); + await textArea.pressKeys([ + Key[process.platform === 'darwin' ? 'COMMAND' : 'CONTROL'], + Key.SPACE, + ]); + } + public async clickContextMenu() { const contextMenu = await this.testSubjects.find('toggleConsoleMenu'); await contextMenu.click(); From f7ae008035501d41bbcb2197733868a31ac2207c Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Sun, 17 Sep 2023 00:49:28 -0400 Subject: [PATCH 063/149] [api-docs] 2023-09-17 Daily api_docs build (#166574) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/463 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.mdx | 2 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 2 +- api_docs/deprecations_by_plugin.mdx | 2 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- api_docs/kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_common.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- api_docs/kbn_content_management_content_editor.mdx | 2 +- api_docs/kbn_content_management_tabbed_table_list_view.mdx | 2 +- api_docs/kbn_content_management_table_list_view.mdx | 2 +- api_docs/kbn_content_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- api_docs/kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- api_docs/kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- api_docs/kbn_core_application_browser_internal.mdx | 2 +- api_docs/kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- api_docs/kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- api_docs/kbn_core_custom_branding_browser_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- api_docs/kbn_core_custom_branding_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- api_docs/kbn_core_deprecations_browser_internal.mdx | 2 +- api_docs/kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- api_docs/kbn_core_deprecations_server_internal.mdx | 2 +- api_docs/kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_mocks.mdx | 2 +- api_docs/kbn_core_environment_server_internal.mdx | 2 +- api_docs/kbn_core_environment_server_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_browser.mdx | 2 +- api_docs/kbn_core_execution_context_browser_internal.mdx | 2 +- api_docs/kbn_core_execution_context_browser_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_common.mdx | 2 +- api_docs/kbn_core_execution_context_server.mdx | 2 +- api_docs/kbn_core_execution_context_server_internal.mdx | 2 +- api_docs/kbn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- api_docs/kbn_core_http_context_server_mocks.mdx | 2 +- api_docs/kbn_core_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- api_docs/kbn_core_http_resources_server_internal.mdx | 2 +- api_docs/kbn_core_http_resources_server_mocks.mdx | 2 +- api_docs/kbn_core_http_router_server_internal.mdx | 2 +- api_docs/kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- api_docs/kbn_core_injected_metadata_browser_mocks.mdx | 2 +- api_docs/kbn_core_integrations_browser_internal.mdx | 2 +- api_docs/kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- api_docs/kbn_core_notifications_browser_internal.mdx | 2 +- api_docs/kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- api_docs/kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- api_docs/kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_api_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- .../kbn_core_saved_objects_import_export_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- api_docs/kbn_core_saved_objects_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- api_docs/kbn_core_test_helpers_deprecations_getters.mdx | 2 +- api_docs/kbn_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- api_docs/kbn_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- api_docs/kbn_core_ui_settings_server_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- api_docs/kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- api_docs/kbn_core_user_settings_server_internal.mdx | 2 +- api_docs/kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- api_docs/kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- api_docs/kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- api_docs/kbn_management_settings_components_field_input.mdx | 2 +- api_docs/kbn_management_settings_components_field_row.mdx | 2 +- api_docs/kbn_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- api_docs/kbn_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- api_docs/kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- api_docs/kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- api_docs/kbn_security_solution_storybook_config.mdx | 2 +- api_docs/kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- api_docs/kbn_securitysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_alerting_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- api_docs/kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- api_docs/kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- api_docs/kbn_shared_ux_avatar_user_profile_components.mdx | 2 +- api_docs/kbn_shared_ux_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 2 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 587 files changed, 587 insertions(+), 587 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 8e756b1d28ad9..17cd9bdee3d35 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index b877ec225405a..579df3e729982 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index dbd0522754a70..a2cf758bf852b 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 12be54e13e36c..d32b2771c38fd 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 3566f956e5fd3..8f46ee4f5b8a3 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index af6b2a8e7d3c6..3dd8828115bd4 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 168e97feec649..b7841fa2b94de 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index e8e186955453f..e44d6da1b17f4 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 32726ac5619e9..deacaa01c96de 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index 52726f2aabe72..bd72e5192fe43 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 0a4bded6ea63f..d8dc08a9c8205 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index eb33584a298c6..7ccf84b7710ff 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index b330798e85280..8faffd32422be 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 705e89f0625cd..310c887b9704e 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index ac0893a0d1c8e..4ab13ed37761f 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index fa27678979388..c429176b82c42 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index ea543570fc6c5..42bb7f2abcb86 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 5cc4ae7c1de24..345b7f15cd584 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index b9dce36c9438a..44e6fdfe01ba2 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 9dcd49377e9ae..522f97b7ac78c 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 974eaf7db8aec..f8231218a8f16 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 5996c17cdae0b..e2e57bc84831e 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 0033170c5976a..e0a54019b22f6 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index 8e89cd3bacc87..d9653b76634bd 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 7a119db49a26d..119b3886ecf7f 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 7423ce210e26e..0be0bf6ad134f 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 4093a923fd91c..0bc365fa43460 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 467e0c1ebe64d..08bbb898b7be4 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index aa2ffbce35fce..3ee55f50e1b00 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index 92be1ad3dfd8f..c606c62c9cbbf 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index 6d0c00fe5b116..fcebec46a3f44 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index 714b1a5d6d216..dcf4cfc7c5344 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index 75210d466cd5c..3aded1c124220 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 6df51abca263b..93cb410a30f4e 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 666a4ceceed90..6b24029080c32 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 948d9758fd928..606a5a5bb3f46 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index d46771ec4eb50..3dcd856034139 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index 85bffb395b8ea..de070be606bb3 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 901a23c16fdab..66e1720324adb 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 5a987f12690db..9f51ae38a5744 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index b4a882b8906b2..f68bb0b0e4ad0 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 7b688dc8655ad..caa1a1e4e56f3 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 8af64809ceef5..1b7249fa6d78f 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index 1ae48950342a2..2301b79cac2bd 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 9406c7a19ca3b..163734a851af4 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index b0b973b5a53e2..d30faf46d06c1 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index b36bb65333ccb..f0dee8a444d31 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index a94b1f89dc9e4..fe93b4dd27d6d 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index ce623ebeda118..4bf08ccdd0656 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index bd4fc330fcb3e..bd29e404f9500 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index 0b9fab98865c6..5c7e184329661 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 27483a359f418..5917befca4ca7 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index a3e2f864cee12..412577474eb1c 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index 17ac0774fdedd..dbd48aa6f18c9 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 7f53d29d838c7..6eb4926ad4a10 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index 53e49358be1c3..28433b05ad012 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index 4b21c18134a2e..8d42c29250613 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index 779fb0f3d146f..8d698df8705ac 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index c83cabc55184c..2c70426c349b5 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index 29974858ad72e..9958931331f9c 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index 6e82d0d68330d..9a3582818d5e8 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index bbfccbe06ebae..0b770c0e6157a 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index f78d59a032851..330ada344c8f9 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index f1adb8a1a2a78..2fd054774ea4d 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index 0dbcdb0f1444b..4a625454404ef 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index a8070868105cc..85afc8e080d67 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index f30fe22999e2b..16b96adf1b0f1 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index de36533f5766b..5724c7622c554 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 2ed77908e5da4..03a7ef20dc644 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index d3f3e107cb2ef..e54c79d7056a9 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index 55ac70ca30b37..88918a56c3491 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index d5b5dd62d66f4..2bf15cc1e533e 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 331ac5c132f79..d3e8d529ea9b9 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 6d355e15ee998..4923bc5563533 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index c07d0a6393c68..2bbe2ed9f243b 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index cb5373faeb001..c570b981f4b07 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 6785eebfb44fe..41f3f1c251ff3 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index cbd5ba83cf8fd..ccecf70b9ddfe 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index 885012240eefe..9cd8bc64a7ecf 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 88f2a074f774a..2fb9a087f1d1e 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index 95ffd3943b4b9..3ca52e7d31633 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 5f3dccc5d0500..639b3cd8bd2f5 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index e05c09790975d..4a7be856865b3 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 57c0dabdc37e4..4977a78ca374d 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 66112759c9db2..2ba92311a89a9 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index a2f9e91b01a66..ee248d16ff6bf 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index e920beac1ee68..47e7943c661f1 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index f6e891254503b..6fa56b88fa079 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index e406ba9a34453..05d18b2c31948 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index 1bff9254bd1b1..724e8736f10a5 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index c6ab44aa0cdad..89b2e1af9211c 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 67c999ca50b9b..60ba031ee896f 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index 95f7e4c74a1f7..83b72cdc3aec6 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index f25fe28d77197..927adb38c6558 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 242dfd64769d5..25f6ebc436757 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 5ff0fc1225a35..a01e42006b5c9 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index 2b238ec163d48..7c11b295f625c 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index c80f717a1e514..ace41cb42ab48 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 819dc6dd0a2a4..4f81ae7c7b7e6 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index ae3aea69c410e..5141b0b9329df 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 245f1b10cd33c..d302e87bd2592 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index b75caeca1fa65..9e07c3405f155 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index c52519bcc862c..f5c4e0b0b1889 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index 73057b54c2754..023fad3c34350 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index 6668d2a5b909b..acf07e0f1c26b 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 2d62a0396f5ed..0d8d8c1a3ee85 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 623b4a136c5f7..c4237adf1d75c 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index be78188db5fa9..f194c2b157f73 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index 9a3526f8d55b9..0218f29397983 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index 873a116363fe9..25f816665ed33 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index 132a582a11125..43b38d5573a1f 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 87bb82e4738cf..4724c423da2bf 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index cd35a70520e55..2b48a0fd1bb2f 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index fdb62646a9cdc..66ee87f89b32b 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 945b648152c0b..c915e5eda09ef 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 411546d240dea..91ea5f858bcc3 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 8879de82759d4..8ccd3fa127540 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index 7ce12abd81781..bd477221b6653 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index 3cac1b5073f54..49fff13d13eea 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index f867c4dfae03c..6d13bfc2b58ee 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index 89727ab5ee6c3..bfa052c64fef4 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index 41c667df602e1..8553b6d6de447 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index 449457af36d15..a1e01caa8a9f5 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index 3216c2512a2d8..45efb9d321a15 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 172aaf75bf395..d96880a6abe49 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 7d650851d2322..211f487b2f85b 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index 8a34055163ad9..44004e9d89b3e 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 7e536bb3c80de..511291c997de5 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 69199645c8ee3..9c2f67a44871b 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index ae5e42ee30a20..eebcbf41f897e 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index 8dac582596128..9ecf5a29ac1c6 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index a6cd17b343ec8..d4349a3ba6d44 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index 1dbfcd6d01dba..e8b0864c390ed 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index 510322e9a6851..b3f7fe1ec6a9d 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 17b263646651e..b17b454484779 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index b10b633a23449..7df8508ac8067 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index 51df90e85568c..2edbfcf918ab5 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 1baa1400b72d0..5ab7575a2d93a 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 8befdbe4efb5f..4d2ee513256a9 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index b13e23c106350..7b72a84994dd5 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index c2235048ef18f..6d513228f419b 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index f1abfe097a458..da548b1384a06 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index 8a3a85fc1be23..1c6ca9daea5d3 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 19d893d30386b..818936caaff30 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index c5745aae02aa5..4fe953efadc07 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index 0651025392f4e..2a5b8c7b6d4ee 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 289a6cb844d82..2a6abcb8c2492 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index c78231e1e27d4..1acb74f386f58 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index e47e915819e46..0c046285fb031 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index 6f555c7c43324..bd790334666bc 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index 8e40ef1f39af5..3c9dca0508bb9 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index f63c1684f07be..850507f463fe3 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 76d3b5851d05e..6d2b228d928d3 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 3243a8a3cfd5b..44445a32bea0c 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index d5f736b5e0d31..3ec596c9e16c7 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index 515512908393f..1b27d50a11920 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index 37877d8645e86..4c34da24a59be 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index a94052975a2b1..bb9b83a653503 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index 95a882b31a5d7..01fafd30257d3 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index 2947940248a1e..dcfd94c47edd6 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index 0c35fa12a5a69..35a9e996218a1 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index fa8fb1925a6af..09525edc95e4a 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index a7465e7d2d9aa..a604a69ac335b 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index f2abea084144d..468a79fe6262a 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index 66aa89fbf9827..f4b9d9fdf50e9 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index 0d0d03a17287f..258d7f3eae04c 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index fe22065d61b1c..8524ff8069b98 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index 8c654fbe4e94a..bc67245c7a19e 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index 46bbbd25ffdb4..9e1a8121d5429 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index dc47495962fdd..7bad8ad353bd9 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index e014c1f65a5f6..f0de2b938da6a 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index cee70719510d3..8b64d3193d122 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index 6a857fc763722..819c1b8ca5c67 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index 3533cada95f3f..c6c5e54763e38 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index f12cbb8f560a9..afe3f57a1868e 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index 8ef6928be2d35..766668964f3be 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index f9051d4be7d5e..86c9a145dec77 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index 5010700af663a..977f4ecadab63 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index 9632417d97a08..4a98720040185 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index 32371fa3e881f..dc223e2e9ad39 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index 70435e8900fb4..b125b7f442b9e 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 62c4d601228b5..5a4b4d3bb5318 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index 6afe89bf7ec6d..5400e89059165 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index c192a1f7d34a9..da0fb5a4aee33 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index bd17112c851d1..ee2bc66e72abe 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 70fec81a1600d..f3f09e5567414 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index 1699938318d95..ac0411ea3785a 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index 7fd219d7d3bfa..e54cffefab3ad 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index 68dec69adeac5..7de2c990565eb 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index 908cc14e43a5c..c23799367dc76 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 3f7eb040e3d87..0339107115be3 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index 93af3811a6145..d652e26141193 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 236117c87eb00..00c6430ff55e5 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index 975887520d9f8..14d8347bd089d 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index 32fea123b7185..9aed647296f84 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index a79d5d95fcd6a..19cc7aa9d4290 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index c65d53aeed4b2..7c9e7ed436ad1 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 00b8c72ea982c..dcf9626b77947 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index 0be2a17f23708..ffffd10e1cb7e 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index 351325d6fcb54..7cef15032c5e5 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 1cfadfaa33598..7ab626f6cd1ca 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 12bf6da70cd35..ea75ea61d4f69 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index 0603f2c22a481..e9f0cedd897a7 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index cc29c18b5eccc..26ba7731812dc 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index 0f3288c527f1f..e79260bccae53 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index f221890918bce..ad3ddcf2ac83c 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 9ef95571d6ec4..2d17e4f625214 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index 1bd22908cf05f..bb89cbb56d43c 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 320d3491ddd4e..34a6f87b4d27f 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index eb9b8e61bd789..c6e02698829bc 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index b32981d8db948..16d1f758ebc59 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 600a6ce2c4e85..6cce32929ebfc 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index 5114b5ef550ba..645abc7421252 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index eb45e7cd7de56..e14d58fbaa316 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index 51da161fea69a..a6e3f45380d12 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index 0002e4a403d98..cad017846c83e 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index bedc0e434b931..2e4efbe150607 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 309afd3884b3a..484ed92d5971b 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index 06b4bab3b2281..ea9019b3b8e75 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 7c199f6afde67..dca522e8e0611 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index 9331ff6fd7858..56f1bda428ffb 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index e837bf25fffae..8cb7a02096f1a 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 383e75f4d39c8..53f134c665f35 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index a62bd5154bb4d..dd9cc22d89d5e 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index c2e152f2185e1..27e30e3aebe60 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index 74fef18e566bb..7e54ac9bba2c5 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index a18dc730d73ef..0e5610383f9cf 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index fcc12071b4f8e..8d2836039cd59 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 6ab54881ab4e7..8c1dabd5f28a0 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 1f8a78a44b28c..a165d3c5147ee 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 46cd8adeec708..81fa917f8cc34 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index e875521f7e729..cae229e011a4c 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index ab28fc5d8783c..edb2ba4ba3a03 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index cf4116caf19a9..7299b0ee1e2d9 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 73ee01782a5da..fdd53157e8487 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index b5d748a52e7e1..f455db7bc9664 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index b5ceef2e777ca..2cd53170eaf51 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index be9072f0e4529..3e6a36439e658 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index fd721c641376f..57e4579ab26ec 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index e8172614844c3..150fa4657704a 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index eb7c5acee8d0d..07235b5d0db5c 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index b5a906e58f29f..f373387fa9086 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index 78429bd38bef2..46ee0b5c6e6fe 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 08cedc47281f5..92e3d885e1329 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 3d09c1a16bc3a..d9d5a329fc20f 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index c1969ff7fcf64..52274a68b272a 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 2f2d8700a177b..23a83dae0c429 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index f6bfeb127f620..cedf4d913608c 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index d7e033962fc9e..680883540793a 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index a95c85aef9c37..587513e8f4fa3 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index 0dabf2f727906..c004c05b55966 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index a76db2618c59f..f83e764325c76 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index f587c7486d7ac..4cd1df503295a 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 1240773f8f285..316d9eb847dad 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index bacd8c4074058..98d31bc4f41c4 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 76f2c659c0539..c90f2dcf645ce 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 2dcb3799bbf4e..0a76de35a6991 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 3158b396d302c..c8ff07e66a9e2 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index c39e3a95b7cab..4e8a1fd7205e0 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index 1b6b496ff01ce..b161574b4aecf 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index f3ae61bddca70..6248f432bdf12 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index 5f7e5253e8de6..e45360391c819 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index 162f712a79987..f79bac40eddce 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index 323971c10f5c8..e67712a4cc072 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 3ad2e6c3f5384..60eee98c271c2 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index f2db0b00fb013..aac43eae76089 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index eedd3364ff4e7..80ee6464fab83 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index e94ae89864a72..158a8c40beead 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 3d43868ad5bb8..571f36e870720 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index f5066fad2f930..3eaa197cd162a 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 425a2531f5965..02322c11e3abd 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 3b4434e7d04ed..2a674463e2063 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index 03a8fe5503a63..14d2ee653784f 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index 528e97e474e28..e084b8b7582e3 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index ee13a8d30520a..23fc635f1f866 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index a5a8d1ece6c35..d244f9ecb7c84 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 561f30321c9ce..3d8dde2574eca 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index b884da72ef8ec..e652e14a82575 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 283c43a32e967..c4a2007473ce8 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index 72855aea447dd..b72ecb03350bd 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index ed671de8bf406..6375ddab071a6 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index dc69c5b1e51be..c67731594b3d4 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index 2ce0acc9109c2..ea1348301b643 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 19b4f26db20a2..960cd79797b5c 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index f90fd9b4c1c35..d08519579c0a5 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 077dc04b14c4b..2508c53761461 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 8b1a8a6d2442e..62fac677bce17 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index c638cd5b02c66..6f34e68260ed6 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index dc762c12268a5..3cbe1ca453f8a 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 874e379971558..d16f5d0dd6219 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 632b6851d1c44..f490aaa193952 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index 0cbe305d95267..13c032d190f0c 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 2dc3fe764321a..785955a91f43f 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index d74d52371df6f..73887fd98d035 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index a3dd4e7d95c0c..bf0a4575447bf 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 4015b041af24d..c8b688be06df1 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 0fe733a604fed..527de11ab4656 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 6366e66b1508b..1d2aa46711207 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index d922109843f3c..cf518cc06235b 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 12f38999e1656..1a7ffa8319020 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 8db7f3bb462b7..c9b92e5b23387 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 5c70b0446e6eb..82b7b80235a28 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 8a9468dbb4ca5..e8890c9998016 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 88675e82eb0e8..6654b50504c6d 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 2352686181283..d02a1e37ff83c 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 32d71052df8fc..0dfc7e5ebf873 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index cae3201e128bd..c38cc75b3374f 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 0752b0811d323..17ad5ee960e50 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index 80c9aeffdbd9a..fb2d1e091675d 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 4e09c58ced8f5..b1119b9dca97c 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 4ce16dd124611..ec15688f3b8e5 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 65e8a87535235..2dddf3a99c808 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index f359f8e4a771e..3c002aae5a3de 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 04673f56d19be..1b9d356e25815 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index a1b4224659b11..56015e3ea692e 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index a99265e2edd86..947b1bf4e11f5 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index fddefcb51af7f..e94914b1d2712 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 356929fd3e0ac..54177df2a6057 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index 12e6c7829fb27..df4592828defd 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 7e01b718da2e1..9cc4f706b3fad 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 72269a6ec56ed..887bc64e81b7c 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index 429e532650cf3..4838951fcb23a 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index c9339778f3702..55030572cfd21 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index b530c8fa4d262..889af48479928 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index d797007d0de4e..107835c4d6699 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 20706aa1c89a0..7a6a223a6cc45 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index c2473953e38b5..3d3b55f6c6b38 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index 427bd7473cbb4..70bb71873ec87 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index b2fab75c5b6fe..a88a7eb36308a 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 3b387eafdd460..d48154bddf45b 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index fd351078add26..4c4b36565fd27 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index bcc0262ed6cdd..6c7a688fe8c45 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 212e79be42d60..46059c959f1ad 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index 558dce5fbfe54..79f019a90b868 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 053c26a4307bf..36a216ec9dc0b 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index 76d40f947ec91..7def7d5562185 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index bb63414ff725f..aff9ec315dbfe 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 82acf333a7c02..315129e8ead6f 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index e964d760e469c..77f0582ccf353 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index 0b393875cb7f9..c45a3a034f74b 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index b40b1317a3e9e..ab35f2cd78e9f 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index 0f11e31876047..c5289761ae486 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 995efd2ebfdd8..578e09514f355 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index f52054f767fad..6c05473f7071d 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 86cf181e304b8..9fc04e071e5c9 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 4a31b9ecd99c8..4a62d929cdfed 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 771d4e179bc63..5230e1df5b09e 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index 6651c5ca93da6..4ef7b8cc84b21 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index fa0481f442771..9e11874d8e2d6 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index 8c93d58113b6c..90693c3ba13d0 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 08e34ac4cb6bf..3d930e5b68fea 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 5a1f35fac2034..38ad89d972f54 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 3db213a28e09d..a8e73923dc2c3 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index e1fe35619a900..478ab922b732b 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index 80ed387868e23..5161c94638502 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 27375d6774b8a..e72e28eab4835 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index ca2e66bad415a..3ac57ab96bf55 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 527658739e1bc..6dbe136f03218 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 1eabd362da545..1ff2b4ae8e4ff 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 58845cc4214d6..f290fabab4ee5 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 7ef6b5a737e79..6ad254ce6a951 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index 6d09ae6175d44..734c4c8b4b490 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 6ec27bd2225a6..c234af715b15c 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index a4d839635e783..91c1e288eff0d 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index fa5dc58257f7b..2aa5e9ac978f3 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index fb4091192c189..af63f95cd82a5 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index e0cacb39f74e5..244c104f1ebbc 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index d73f78e4ebeca..3a52930352afb 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 37e7aa67e4663..1f70786c81dd6 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index b7b48fd7d7a67..87ef8c99ab78b 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 96a986fab3db4..56334213dc212 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index 696960e379718..ef260eea39120 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 5dc1eb53b7bb5..17e1007757715 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index 8e06982e1288b..d7048c5fb105d 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index 376572e4cd5c0..551024cdd3479 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index 2a0a1984612e0..f25ae9d335b10 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 7115a7f11b212..9135fb9316494 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 0ec08404ef5d8..5be98ca47a41f 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index 8ff8e347903a2..d00b3639f191d 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index ea79070706e78..e900186054913 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index 6b78c36ec3956..db33dda030cf2 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 8909e7997729e..07eb684515b47 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index 0faa67ced74f6..8748bcddf6d7a 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index fcc2f7325518e..d77b65e5e7d74 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index 4512f6811753a..31ac63b67066b 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index dd100457c412a..16ab455fe1f8e 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index 57ba261d0c59b..7041cac0e2672 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 8a9c35b027bb5..80084a136f6cc 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 967218a149a68..be547bfeb2488 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index b168d1114e099..9221df076dba4 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 0fc9b66d3c178..b6dd2cbfe634d 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 3818d2e44fab7..e530eb77664b2 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 31ee38d3e1e0b..4a1c2da124b0d 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index f7ddb40758236..c163f7591cbbd 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 8bd1b60ad7fc1..8bf64cc5691a6 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 462f9a9d4940a..e974173a602d8 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 0cc0b244f550c..9fc0c7573796e 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 69e830a1c7c53..db098869cc1aa 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 54d17b6e120b9..453fbd594ed6c 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index ed1c2f815ab45..38a2d42b42184 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index b0c93a114d9d2..90eedf16a00c3 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 823aa28ad5d0e..02d14053e35d0 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index b6e4b1aff688d..103b193adc77c 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index f960e16fdfd4f..d5a24c3a7c4a3 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 2dcd449f30d2f..3e052c5a2c185 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index 172891831be08..e2cd7bfd1c25a 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 63fe52faaf53b..35456274d32cc 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 1ce01f667fe3f..e7d93c3f19572 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 9e50cf6ec8c46..ebae8f94b8eea 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index ee81577030937..258a1c16b2872 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 7989a3a2e2ea5..40639fb5f4e77 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 2093a355cf1cb..f9cfa08503227 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 94ec599ca69a4..63671cd5e605c 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index 6fdbd00d7f952..5db011b1bac29 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index 2fd55f6520a60..f8fa2427b79f5 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index be1f04af331fb..c20ee39dfe516 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index b46e96a15f130..613b3da4cf059 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index 2a2ab033357a1..569c351b4c7b8 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index f52f4d5908dd8..4760e82741cd6 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index b6e894e12919a..d9468c4956595 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index e95471efb1e05..d2a1e863696ab 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index 6c025bc87f228..b7fa2f3108bab 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index 85daecd0ae440..6dd170737a706 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 0c4d9204518f0..14e992ce5e636 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 46d3c19300dc7..75d83216b3558 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 86594926c8f2e..da80d05cf35bb 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 0d44ac9134cc4..c4cf0cfec57a3 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index 96052a104eacf..4afc1bc9f0276 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index a8e59c62ab10d..aa9ff85c97e9d 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index a5e341b9e1686..e87f2627f18e6 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 797bcb8644378..93e7ef815d3d0 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index cef03d317406a..718072263bfb4 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 0985e7b0153d4..9e57272165446 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 9a3252304d6a8..750044fc6bdd6 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index 97c0157e6340e..e79f069f0405d 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index ae17e880a7383..603546da6c681 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index a32edc47c6eeb..6afdc556fc1ad 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index 1b74e5c12a283..6a421d359854c 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index f8a14ffdb24b4..25c2b75baa05b 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 60067d38b3248..f0123df18202e 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 29bfe4d7ff763..1d90518d9b76a 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 700acd34dd5ac..42f73a534c759 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index baf5da5ae4e13..d21da647344aa 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index 8d6ac84ba4ee8..26918272dcc4b 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 388dfc4029301..d135c57569714 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 907141e7d18a7..6c31c93356c76 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index c82cab2a0baf6..1fd702450e31e 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 79576558e9024..8d28bac4dbc71 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index 08399dfcbbf2e..4980dff15b661 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index 60750596e3eeb..fe42d8fb8ff8e 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index f47dcd50dd7e0..a3bd4fed60f96 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 88f4771dbac9c..a67fe0417e5a1 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index ef47723385917..180bc4b1bc779 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 0a91ba0779efc..c8d27c81ce30c 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index e7b74af2464e5..80e6f27695e66 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index bd5372d8631e4..663a49e60b286 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index dcc81bdf26e9e..8d0b5b5fce901 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index 79b2397ae0745..5e1a2790c40c3 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index cf272cd25934a..92ad893ea2c6b 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index 69b01749996ef..f9c4ce9ef0a00 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index aee27375fc406..716c00163783e 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index cfd8a3949ba8e..73643dcff680b 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index c3e948cbcfa39..54bfd1441e92a 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index 2bfba679e0eaa..6e54b8482b6a9 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index 74d5e079ab07f..d6a9ed51351de 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index 63c322c12a253..22c3383bb5e1c 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index d5fed6437cbc2..ddcf21f8bcfdb 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 1966b91893a5a..8c8e18ea3d26f 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index dbf9c41428ad3..99ea2f4e3c5d1 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index 342c9f00ba9e8..c5a4c767f2308 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index cab0323602063..32e8ca31f7391 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 40b380b764b2f..c44d216266060 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 2c267b7b8fb79..7353174bda0f9 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index a6e1b7b62c80c..63749ab6ea2da 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index e4fa4d265c566..a038118758be9 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index becb2e0b2eff4..c2f7232b0c1a8 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index dc20c46ab6381..42e9db84df9f5 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index c9e08501e18fe..dfe05edc8b7c9 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index db084142473ff..24a62f8529315 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index bcf1bc196f5aa..1bed859eba27b 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 00ea8cf4185c8..28c3ea4571db8 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index cfe496da550cf..1be8b38276d13 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index d858f1e3b52af..2fd8c8adc33e6 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 104cbe4ef7b69..0945cdf00b8d4 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 1e9c6c17f5344..b9d3cfa9c8307 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index e11259d50a623..49d3592260f9f 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 7cba5280d6cff..65f2c2194592a 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index 82ab23dfaaa66..b435e7427dcc4 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 842a6cc725906..fec28c5ff24a5 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index f3bd5b991941a..adf9ab1d1f64c 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 6031a92c8643b..557cbbce8c652 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 9b12d7af3bd74..08d1d69dbc95b 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index bec96b10007d8..083fbbfdf217e 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index b56f7235cdcbc..8ebcb28d4fcba 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index 93151c9662d9a..2af93c2435300 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index 3b9a7d06e1ae9..38601eb8d81e2 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 90c4135b919e7..442c1cfe82fc3 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index e8cdfe66d5af5..5a7f734b8e6d4 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index d49597e09e76f..39bab6f349b53 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 57ec6558ef9de..7a15a5e261a2a 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index 65e31b8bb1845..e546d7eb17a59 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 6de2dd85e2693..64c29a4394383 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 94b49228010cf..4fd7a438142b6 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index bf1137695d04a..ad249fba0574c 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index d8ab2586b8f33..d1bde3feae005 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 817c22a4cd368..b2d93b6fdf915 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index ffc40f1e32099..2cfbd8bc1c972 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index c1cbaa7345fe3..83342939278da 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index d60da68b5eafe..c86234dfbb5fa 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index dfecf89a79bfe..7c8baed9bf8e3 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index f198e8f06fb79..0bd8cfcc6a952 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index bc5124531256e..222660f9aafc9 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index cb2b523a3a856..480a399c7fa13 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 35f9ab7fcc61b..74993f4317746 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index de2e8f924b102..f71e0d46bc746 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 560c13b59b125..98b343e80fcf8 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index 1f5a9474a2797..7c7424073d730 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index bd52005bad914..1e6538a84df31 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index 883d864519811..c22ee3b84d91a 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index de13ef2fa03fb..db2e724783c05 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index bb1d1f6f01202..8d3a4b3c31b0c 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index c21954570cb51..8aa6d785ef472 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 6fc01593e875e..95d4ed50ed475 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 829614bf91064..a5febb07791df 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 27ebf2c6f647b..a331f58797f21 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index 8ff5523cb5a58..a1bd12bb79791 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 7f126f7856295..5e2a6906ce378 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 6cc7380f2ec08..3a34c3aef7a85 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 50f3f5623ff0c..56fcb650e081c 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 0fca245710a1f..8768b51f317a3 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 07861cdaab4af..db6e9c7d3eba3 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 550604e1f92d4..727b99ca11ec9 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 05186b3837ec3..fabbaeb385d78 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index b78ee68addedc..3f2dce53e40b2 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index d546a0fcbfe5c..bd7858e467ed7 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 1289b8082f15c..8241a403bef14 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 81be3ed82e94d..79d38e3799e89 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index a9d1c9de75842..27fc1a94002b1 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 6f90cd670eb91..3dec6516d2527 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index 0cf3153c21f52..b2502786e26df 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index a1fafc0d9e600..f4a1a5d969952 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index e0be883a82619..7c953d2dd4504 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index 0b6812e03161c..32468ce505d5f 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index a0e5f3958528d..3d0b7cedb6e05 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index aa482454e241f..4dae965991b63 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 56d20bd218a1d..b7ed778e7d1ef 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index 449cec5c99f47..09da0c486f6d5 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index b7690903dcb37..2c7a55d9b615e 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index 58fee5b981a9a..e75d64faeadf8 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index eb69dc2ee18dd..796b53a76879f 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 53cffa4d8addc..23f3f98e61c95 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 7f1e3c24847e7..64f0f8801ac4c 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index bd2066e176725..45c9dfac47e18 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index bfa5a722cbe4d..4a21af3f512f7 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index 90e6d6601053f..8c4106f07295e 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 168bfd57d3ee0..8552da4c7048b 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 445ca35f47bac..1514ffdc575f5 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index 0c2df964763bf..967ebc59fe0b1 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index 990f3387c15e6..e9f011f78d755 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index dede2c68c8e54..f1b0f43d71d1b 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index 0536c71dec572..d7e233d370021 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index db66b02453219..2662a2065f564 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 10ab57a2aae1e..da50eab348ff0 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index daa142d2f5a98..061b99984b5b1 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index aab4cc3ca3b84..c87073cd71acf 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 056cec5992083..61c885cdc7830 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 827c0b3e6ad9c..44cc1871740c9 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index 2bbf550db6304..ecec57a49edec 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 1ef1858c6d3b6..5e8bcdc5e739a 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index da803dcd3ebcd..b86b0140a47f0 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index d59ecfad68141..539323d16df0a 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 55e54f1cc260d..145ba420e469e 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index 17e4d25bdd873..41981212ebdae 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index c28952cd54fea..a8c2d02f6fb88 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 9860d9ed2ff23..762e624db77c5 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index 9d06563a6ec9e..dd0db363b44e3 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index 69c5eadc53b07..dffe780356935 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 5d317162ac2fa..07d0226868070 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index 9bd200893416f..02cf504b6c013 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index 6554613743fa6..15fa33b3a42ca 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index 54fd8cdc5d6b5..37f81179a9160 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index ce5461037ebd1..cd949dc102321 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 18826619ca39c..0b5f4cfc99868 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index 2ee902d8111c8..4db27a4ec6ba1 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index 9e1d6f7a4f8ad..0f441c0e3bd8c 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index 2b00479a62f29..4a15d574e2d80 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index af8226cbd8de6..b710d415fdf3a 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-16 +date: 2023-09-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From d570545ee1bac4cfa13b1bb3399b636a5ce304d3 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Mon, 18 Sep 2023 00:54:57 -0400 Subject: [PATCH 064/149] [api-docs] 2023-09-18 Daily api_docs build (#166582) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/464 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.mdx | 2 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 2 +- api_docs/deprecations_by_plugin.mdx | 2 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.mdx | 2 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.mdx | 2 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- api_docs/kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_common.mdx | 2 +- api_docs/kbn_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- api_docs/kbn_content_management_content_editor.mdx | 2 +- api_docs/kbn_content_management_tabbed_table_list_view.mdx | 2 +- api_docs/kbn_content_management_table_list_view.mdx | 2 +- api_docs/kbn_content_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- api_docs/kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- api_docs/kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- api_docs/kbn_core_application_browser_internal.mdx | 2 +- api_docs/kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- api_docs/kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- api_docs/kbn_core_custom_branding_browser_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- api_docs/kbn_core_custom_branding_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- api_docs/kbn_core_deprecations_browser_internal.mdx | 2 +- api_docs/kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- api_docs/kbn_core_deprecations_server_internal.mdx | 2 +- api_docs/kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_internal.mdx | 2 +- api_docs/kbn_core_elasticsearch_server_mocks.mdx | 2 +- api_docs/kbn_core_environment_server_internal.mdx | 2 +- api_docs/kbn_core_environment_server_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_browser.mdx | 2 +- api_docs/kbn_core_execution_context_browser_internal.mdx | 2 +- api_docs/kbn_core_execution_context_browser_mocks.mdx | 2 +- api_docs/kbn_core_execution_context_common.mdx | 2 +- api_docs/kbn_core_execution_context_server.mdx | 2 +- api_docs/kbn_core_execution_context_server_internal.mdx | 2 +- api_docs/kbn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- api_docs/kbn_core_http_context_server_mocks.mdx | 2 +- api_docs/kbn_core_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- api_docs/kbn_core_http_resources_server_internal.mdx | 2 +- api_docs/kbn_core_http_resources_server_mocks.mdx | 2 +- api_docs/kbn_core_http_router_server_internal.mdx | 2 +- api_docs/kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- api_docs/kbn_core_injected_metadata_browser_mocks.mdx | 2 +- api_docs/kbn_core_integrations_browser_internal.mdx | 2 +- api_docs/kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- api_docs/kbn_core_notifications_browser_internal.mdx | 2 +- api_docs/kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- api_docs/kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- api_docs/kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_api_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server.mdx | 2 +- api_docs/kbn_core_saved_objects_api_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- .../kbn_core_saved_objects_import_export_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- api_docs/kbn_core_saved_objects_server_internal.mdx | 2 +- api_docs/kbn_core_saved_objects_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- api_docs/kbn_core_test_helpers_deprecations_getters.mdx | 2 +- api_docs/kbn_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- api_docs/kbn_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- api_docs/kbn_core_ui_settings_server_internal.mdx | 2 +- api_docs/kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- api_docs/kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- api_docs/kbn_core_user_settings_server_internal.mdx | 2 +- api_docs/kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.mdx | 2 +- api_docs/kbn_es.mdx | 2 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- api_docs/kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- api_docs/kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- api_docs/kbn_management_settings_components_field_input.mdx | 2 +- api_docs/kbn_management_settings_components_field_row.mdx | 2 +- api_docs/kbn_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- api_docs/kbn_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- api_docs/kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- api_docs/kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- api_docs/kbn_performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- api_docs/kbn_security_solution_storybook_config.mdx | 2 +- api_docs/kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- api_docs/kbn_securitysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_alerting_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- api_docs/kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- api_docs/kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- api_docs/kbn_shared_ux_avatar_user_profile_components.mdx | 2 +- api_docs/kbn_shared_ux_button_exit_full_screen.mdx | 2 +- api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template.mdx | 2 +- api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views.mdx | 2 +- api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.mdx | 2 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.mdx | 2 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 2 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.mdx | 2 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 587 files changed, 587 insertions(+), 587 deletions(-) diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 17cd9bdee3d35..ec10aa0381ec3 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 579df3e729982..d08d30c9fc885 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index a2cf758bf852b..22129ac36386a 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index d32b2771c38fd..665da1f4db254 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index 8f46ee4f5b8a3..b2e749852e2c4 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index 3dd8828115bd4..feab1dca03106 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index b7841fa2b94de..09173916ebc7b 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index e44d6da1b17f4..4e6124d0da1e3 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index deacaa01c96de..9bdba93323168 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index bd72e5192fe43..078a3b3cf59ba 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index d8dc08a9c8205..488f95f130377 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index 7ccf84b7710ff..d188312c403ba 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 8faffd32422be..7090e8b3a20f6 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 310c887b9704e..72f5f85adf384 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 4ab13ed37761f..9cd5eada5f214 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index c429176b82c42..7ab8225b5da92 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 42bb7f2abcb86..9b4e09565cc55 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 345b7f15cd584..87757ffac273e 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 44e6fdfe01ba2..8cdc61a0538aa 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 522f97b7ac78c..3038c1157ca8b 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index f8231218a8f16..ceb657dd5c70c 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index e2e57bc84831e..8b253434ce6a7 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index e0a54019b22f6..0e4a43b4a8c92 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index d9653b76634bd..ff420d61f1ac3 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index 119b3886ecf7f..de635c35fcc04 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 0be0bf6ad134f..973262fd2738f 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 0bc365fa43460..dad7f8db144b5 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 08bbb898b7be4..fe8bf64afecb2 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 3ee55f50e1b00..2ec06d050bf34 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index c606c62c9cbbf..d5b6bb78f1259 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index fcebec46a3f44..eb1a6e20fc2d8 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index dcf4cfc7c5344..fee969c5ae690 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index 3aded1c124220..a5c4d6c451110 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 93cb410a30f4e..74cb127d601f2 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 6b24029080c32..6ab4419267ce6 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 606a5a5bb3f46..16dceface5bbd 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 3dcd856034139..976492edbf317 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index de070be606bb3..b79ef12dc8080 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index 66e1720324adb..bcf59ecd7d6a5 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 9f51ae38a5744..35a1968cb6df0 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index f68bb0b0e4ad0..b112d4399f1a4 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index caa1a1e4e56f3..84c572d1da40a 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 1b7249fa6d78f..af5ac6accfcce 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index 2301b79cac2bd..f4694fcb25c9c 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index 163734a851af4..b68e141559ffd 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index d30faf46d06c1..8e9345631fef1 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index f0dee8a444d31..dedb47d332ea0 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index fe93b4dd27d6d..fb698e796989d 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 4bf08ccdd0656..59d62906310d1 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index bd29e404f9500..e8d9ebde4c48f 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index 5c7e184329661..b361ce4e564d6 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index 5917befca4ca7..c64fc4239c208 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index 412577474eb1c..c4900a48fecb5 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index dbd48aa6f18c9..6159ddc9b73b2 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 6eb4926ad4a10..33ea6a3a360d3 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index 28433b05ad012..26732fe7b12fb 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index 8d42c29250613..9b9ce414a9575 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index 8d698df8705ac..ddcda1fd4cf74 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index 2c70426c349b5..57495fa4fe25e 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index 9958931331f9c..347a0c8b5b2ca 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index 9a3582818d5e8..e16ba3c35ef63 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index 0b770c0e6157a..72cb6439e6bee 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index 330ada344c8f9..5559664660786 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index 2fd054774ea4d..d58cd3ebc7e1d 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index 4a625454404ef..70b550e4a8b4b 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 85afc8e080d67..6e8aaec01e2ae 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 16b96adf1b0f1..747f1e89eb6b6 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index 5724c7622c554..a62527194108d 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 03a7ef20dc644..45e011f7068ff 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index e54c79d7056a9..d90a640e051d4 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index 88918a56c3491..2fd5915e5325d 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 2bf15cc1e533e..883c85a14ba5a 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index d3e8d529ea9b9..677d05ae1be0c 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 4923bc5563533..3014a97dca8c0 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index 2bbe2ed9f243b..210c8db0b2901 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index c570b981f4b07..e7fcfd4448bda 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index 41f3f1c251ff3..c327ce577ffab 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index ccecf70b9ddfe..7e77600558565 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index 9cd8bc64a7ecf..08ecddbf0e546 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 2fb9a087f1d1e..52e226fe31f38 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index 3ca52e7d31633..d413952770e9c 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 639b3cd8bd2f5..74a7c194b58e2 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 4a7be856865b3..1155edfa57925 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 4977a78ca374d..56b6a659a1cfa 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index 2ba92311a89a9..dcc3e6917906c 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index ee248d16ff6bf..5e7d5cda6a907 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index 47e7943c661f1..1431b10b96c02 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index 6fa56b88fa079..98abb678e022e 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index 05d18b2c31948..75fdab72a1664 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index 724e8736f10a5..db0ce46c2cca1 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index 89b2e1af9211c..fe5d6301ae0a9 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 60ba031ee896f..1e5c56e8540ed 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index 83b72cdc3aec6..b5a17f95e4914 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 927adb38c6558..269e6c2fe51e0 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index 25f6ebc436757..c3b4b0ccf6851 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index a01e42006b5c9..7ffe42df8b83c 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index 7c11b295f625c..ea5a3a98abe3a 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index ace41cb42ab48..fbe7866473bcb 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 4f81ae7c7b7e6..25522ed3865a2 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 5141b0b9329df..878f101e79d36 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index d302e87bd2592..1658fd746d357 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index 9e07c3405f155..57da814dd2406 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index f5c4e0b0b1889..1876e4a29dd0c 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index 023fad3c34350..9f601981e3dad 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index acf07e0f1c26b..aa9afe0e6bdf5 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 0d8d8c1a3ee85..109fe7aff525b 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index c4237adf1d75c..6d063326b3b3a 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index f194c2b157f73..fca9a8c5c322f 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index 0218f29397983..4d3fb887f21b8 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index 25f816665ed33..c92f82b27df0a 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index 43b38d5573a1f..46a571dffd4fd 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 4724c423da2bf..2c20cab969269 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index 2b48a0fd1bb2f..883d8a78c250a 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 66ee87f89b32b..5b542d0d61354 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index c915e5eda09ef..5df2b5a15f823 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 91ea5f858bcc3..6050db97f3548 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 8ccd3fa127540..2e69f191ad449 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index bd477221b6653..9ee1d9e495b79 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index 49fff13d13eea..93ebce24da602 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index 6d13bfc2b58ee..6d269f9294534 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index bfa052c64fef4..f4ca8e4ae41f7 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index 8553b6d6de447..787c930535c49 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index a1e01caa8a9f5..ad2393d79632d 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index 45efb9d321a15..b7aab6b4c493b 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index d96880a6abe49..dac9fa29a97d4 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index 211f487b2f85b..f665e9d9ecf20 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index 44004e9d89b3e..02cf4fd9f4802 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index 511291c997de5..fb1d9f90941ee 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 9c2f67a44871b..3056c91730b4c 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index eebcbf41f897e..0e94e11483833 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index 9ecf5a29ac1c6..bb292f3a80240 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index d4349a3ba6d44..431280d8f8b7a 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index e8b0864c390ed..6d49d7b89f56e 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index b3f7fe1ec6a9d..4ee2badf63701 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index b17b454484779..462cdb9ec9936 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index 7df8508ac8067..ff970404a1927 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index 2edbfcf918ab5..3ef941bbc2da4 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 5ab7575a2d93a..b1455cebda134 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 4d2ee513256a9..6cd2f87cf2dc0 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index 7b72a84994dd5..8bab8235009e8 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index 6d513228f419b..12d2604c35bc0 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index da548b1384a06..51c469f2d721a 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index 1c6ca9daea5d3..7bdbcde0b681c 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 818936caaff30..6657a1b5a5463 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index 4fe953efadc07..1ccdf52e0fe0c 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index 2a5b8c7b6d4ee..792727a53527e 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 2a6abcb8c2492..288845aab22dd 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 1acb74f386f58..1b01571ae584a 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index 0c046285fb031..a04805f49b4a2 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index bd790334666bc..3a1d96a5885a5 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index 3c9dca0508bb9..dfa0926e1b443 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index 850507f463fe3..bc5bb99a112c4 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 6d2b228d928d3..0f359f6490541 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 44445a32bea0c..644431b6e0b48 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index 3ec596c9e16c7..0b15fef58826c 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index 1b27d50a11920..de6e8725476a2 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index 4c34da24a59be..3846540cb7906 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index bb9b83a653503..53e296cccb735 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index 01fafd30257d3..d79a6e6ee117d 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index dcfd94c47edd6..1e70b4deff0ff 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index 35a9e996218a1..c2d71495027f5 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index 09525edc95e4a..fbc988f9558e7 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index a604a69ac335b..ade0799dcf68d 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index 468a79fe6262a..9cb38caf49621 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index f4b9d9fdf50e9..4043cf0a22cc3 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index 258d7f3eae04c..f8ce8edd5401e 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index 8524ff8069b98..6b2ac0d00c16e 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index bc67245c7a19e..f22969795aff9 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index 9e1a8121d5429..18d451571c778 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 7bad8ad353bd9..60f68cf242fb2 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index f0de2b938da6a..7f3f4539da535 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index 8b64d3193d122..09f3d6fcb46df 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index 819c1b8ca5c67..d018a5094916a 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index c6c5e54763e38..179b02de80b0d 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index afe3f57a1868e..a93cbfa77ccd2 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index 766668964f3be..d0da7439de20c 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index 86c9a145dec77..66fff8819a731 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index 977f4ecadab63..59e3c8228a8f7 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index 4a98720040185..c30a85d63af01 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index dc223e2e9ad39..1fd82b970a60a 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index b125b7f442b9e..d0b005dd9764e 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 5a4b4d3bb5318..1293623fbe915 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index 5400e89059165..c74dbcd1e7a72 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index da0fb5a4aee33..6849af81def92 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index ee2bc66e72abe..696f0c9915184 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index f3f09e5567414..298398a7f5a54 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index ac0411ea3785a..17d5d133c2463 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index e54cffefab3ad..51baa670cab43 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index 7de2c990565eb..261e646001d24 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index c23799367dc76..b7ee03010b886 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index 0339107115be3..e7f9952279cf4 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index d652e26141193..e8228cb7d60e4 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 00c6430ff55e5..7191da5e32a3f 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index 14d8347bd089d..c467d2d9db7b5 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index 9aed647296f84..0b57a707a4340 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index 19cc7aa9d4290..5204c013e6522 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index 7c9e7ed436ad1..b622e4db7e5ca 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index dcf9626b77947..a0a5de8e7c817 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index ffffd10e1cb7e..a2dbc53cfbbf5 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index 7cef15032c5e5..914263632c7dc 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index 7ab626f6cd1ca..efb31ba738c76 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index ea75ea61d4f69..4c69941b73b1c 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index e9f0cedd897a7..db2a6494b510b 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index 26ba7731812dc..ee9a5d7bec2af 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index e79260bccae53..d0925febd283e 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index ad3ddcf2ac83c..83081f4298ff7 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 2d17e4f625214..7e051793035e9 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index bb89cbb56d43c..a4ca66623ec38 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 34a6f87b4d27f..8975c66a01909 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index c6e02698829bc..c75429f789019 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index 16d1f758ebc59..56985d429d014 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 6cce32929ebfc..53c800bf77235 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index 645abc7421252..5b288cdc669fe 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index e14d58fbaa316..dac349ca70d9a 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index a6e3f45380d12..426e2d9d885e2 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index cad017846c83e..f1452901935d6 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index 2e4efbe150607..7b1a64a5f00bb 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 484ed92d5971b..1ed1d5c2a29f6 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index ea9019b3b8e75..f8c3ea677f86c 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index dca522e8e0611..30f96c1e4f43f 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index 56f1bda428ffb..3192af74101fc 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 8cb7a02096f1a..572c6b1634a23 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index 53f134c665f35..a9822c3d4077d 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index dd9cc22d89d5e..a7daae67a7a2d 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index 27e30e3aebe60..68f95feb68b9f 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index 7e54ac9bba2c5..dacfbf9915c25 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index 0e5610383f9cf..d286e2d69b056 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index 8d2836039cd59..5a7b7cb7a1fe1 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 8c1dabd5f28a0..3359aaded3d2d 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index a165d3c5147ee..4863232770f61 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 81fa917f8cc34..5a2d7db857479 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index cae229e011a4c..39530ce692860 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index edb2ba4ba3a03..24f0dea6e5c04 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index 7299b0ee1e2d9..7d22f6aa11a17 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index fdd53157e8487..8c67cb966603a 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index f455db7bc9664..e971f33061cd7 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index 2cd53170eaf51..ee3ac1456960e 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index 3e6a36439e658..72855ce3e1eff 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 57e4579ab26ec..79c45d96b59a4 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index 150fa4657704a..d4a4fe336bd23 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index 07235b5d0db5c..a0fda632df250 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index f373387fa9086..32b422843d7e9 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index 46ee0b5c6e6fe..212909e4659f4 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 92e3d885e1329..a7150e07904cb 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index d9d5a329fc20f..799789f205b97 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index 52274a68b272a..2b463d9af2251 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 23a83dae0c429..8eac443364007 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index cedf4d913608c..a8af77f4e07dd 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 680883540793a..97e05f1f56e9d 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 587513e8f4fa3..2fab3b6865ee1 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index c004c05b55966..82caac3b7207d 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index f83e764325c76..0ed44aa66d3a0 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index 4cd1df503295a..c6d8bc542ae7e 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 316d9eb847dad..4b781320cf1fe 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 98d31bc4f41c4..5672f3d52aa9b 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index c90f2dcf645ce..258647b6c3505 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index 0a76de35a6991..b29ba5eb5e17c 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index c8ff07e66a9e2..3af24d09e0d5f 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 4e8a1fd7205e0..12e8d0b8989a6 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index b161574b4aecf..b46b10d809e39 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index 6248f432bdf12..cb27068c19def 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index e45360391c819..dae886fc71071 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index f79bac40eddce..c24531d244a0e 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index e67712a4cc072..a7656c32d5db0 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 60eee98c271c2..99c46bf0e0f8e 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index aac43eae76089..b11a59c15233f 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index 80ee6464fab83..05b7761d655a8 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index 158a8c40beead..98a3e7c86f0fc 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 571f36e870720..c43e35cb935bb 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 3eaa197cd162a..736a8ca1281a3 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 02322c11e3abd..5ec810328d0cb 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 2a674463e2063..1aaa32301de89 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index 14d2ee653784f..88e83bf782815 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index e084b8b7582e3..900b43cb49882 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index 23fc635f1f866..1007fc2590a40 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index d244f9ecb7c84..ef22f71dada8c 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 3d8dde2574eca..b8406bfeaf364 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index e652e14a82575..17344e3694c95 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index c4a2007473ce8..38b0b339633da 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index b72ecb03350bd..9b2cd1dd73e46 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index 6375ddab071a6..e23a5569093cd 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index c67731594b3d4..d26d4bdd1015c 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index ea1348301b643..13a36afd533b6 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 960cd79797b5c..2534468bae29b 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index d08519579c0a5..2b06c2bb2042a 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 2508c53761461..d7fc0710f0c04 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 62fac677bce17..9b0714523566e 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 6f34e68260ed6..1be19bb4c38ea 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 3cbe1ca453f8a..47c5d25300748 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index d16f5d0dd6219..043cd313f02ae 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index f490aaa193952..95d2fd6e024b9 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index 13c032d190f0c..753c14572dfc4 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index 785955a91f43f..ecca452457fea 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 73887fd98d035..edec1337ab437 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index bf0a4575447bf..3be23a991425c 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index c8b688be06df1..02143a5104363 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 527de11ab4656..75ecd6c5cf4a9 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 1d2aa46711207..1f2687ca6997e 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index cf518cc06235b..63be0ad1b7d9f 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 1a7ffa8319020..ed958ef6c2198 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index c9b92e5b23387..3149649da72e8 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 82b7b80235a28..4e1af85d1a805 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index e8890c9998016..43ff688e3bc5c 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 6654b50504c6d..9523f191412e4 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index d02a1e37ff83c..9eec8a4311789 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 0dfc7e5ebf873..17fbcc350321a 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index c38cc75b3374f..a3da0c0af61dc 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index 17ad5ee960e50..f9b6795731703 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index fb2d1e091675d..661fa78f6edd3 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index b1119b9dca97c..0ba1019cc85a5 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index ec15688f3b8e5..8a350c19db31d 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 2dddf3a99c808..4d44fd3ed2377 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 3c002aae5a3de..521831ed4f87f 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 1b9d356e25815..32e35f6c68937 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 56015e3ea692e..0f0675b7e72aa 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index 947b1bf4e11f5..ad504d5ef9879 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index e94914b1d2712..d7ff6d91a93e1 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 54177df2a6057..1ae352ca4528a 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index df4592828defd..2fcd643d290eb 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 9cc4f706b3fad..9d42b1ed35d60 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 887bc64e81b7c..9a21e2763d6ae 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index 4838951fcb23a..d46698414584f 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index 55030572cfd21..b23047fdb0988 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 889af48479928..84164e1c1021a 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 107835c4d6699..03ee64eadafd9 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 7a6a223a6cc45..0dfcbf4a6d448 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 3d3b55f6c6b38..dc69d4fe7e3d3 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index 70bb71873ec87..980c4e4602d5f 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index a88a7eb36308a..40bea63cfb251 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index d48154bddf45b..8922002ca31d2 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index 4c4b36565fd27..1fd48308f8597 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 6c7a688fe8c45..14efba7045ebf 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 46059c959f1ad..38ed5fa7534a9 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index 79f019a90b868..ba74e3f5d29c4 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 36a216ec9dc0b..44fc76a2206a1 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index 7def7d5562185..4261974ca6180 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index aff9ec315dbfe..b70b0c568806e 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 315129e8ead6f..486f24f9706ee 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index 77f0582ccf353..e86271e016cd4 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index c45a3a034f74b..eac7cac6eda48 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index ab35f2cd78e9f..76004044100b4 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index c5289761ae486..ae544efb2c8dc 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 578e09514f355..84b6ad70d01a3 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index 6c05473f7071d..d99f7f91b01ee 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 9fc04e071e5c9..eee12d35d8594 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 4a62d929cdfed..cbd41ac3a1787 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index 5230e1df5b09e..b6962455b897e 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index 4ef7b8cc84b21..c7d8b47e11d9c 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 9e11874d8e2d6..e61753b7c22f4 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index 90693c3ba13d0..de021f02fc0f5 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index 3d930e5b68fea..dc4bfeedc783e 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 38ad89d972f54..c16d1e942bd0a 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index a8e73923dc2c3..b03e9c9a50664 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 478ab922b732b..d81a340525546 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index 5161c94638502..ce66be19e0779 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index e72e28eab4835..ab86773a41e73 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index 3ac57ab96bf55..a1d612ccf01d7 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 6dbe136f03218..e4ae50a5cc6af 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 1ff2b4ae8e4ff..807cab5731d13 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index f290fabab4ee5..6e4a983975f49 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 6ad254ce6a951..37c7405981d6d 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index 734c4c8b4b490..add1b5059ef85 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index c234af715b15c..01878ec950d56 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 91c1e288eff0d..a5745e288a26f 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 2aa5e9ac978f3..1eab46981de16 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index af63f95cd82a5..08d14a07501f7 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index 244c104f1ebbc..fbe70cd84d797 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index 3a52930352afb..d86ec5423e505 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 1f70786c81dd6..64f146d953e4f 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 87ef8c99ab78b..1b68b5a668931 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 56334213dc212..ba8fadbd9f1d9 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index ef260eea39120..bedc7d19b1f82 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index 17e1007757715..a660a81c7f964 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index d7048c5fb105d..f7c61706a1f21 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index 551024cdd3479..7d41c629bcd52 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index f25ae9d335b10..4d90531ba9d5e 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 9135fb9316494..05f4a33b937b3 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 5be98ca47a41f..a241d0e6c04ce 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index d00b3639f191d..14208a7e8e820 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index e900186054913..4915ab0f1f4fd 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index db33dda030cf2..8ddfb291e3b6a 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 07eb684515b47..4bcb5ed044922 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index 8748bcddf6d7a..b1cd27a8dfd4d 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index d77b65e5e7d74..eabdf6c60fcbb 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index 31ac63b67066b..dc72e40f42eb3 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 16ab455fe1f8e..67d4c1be49a5c 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index 7041cac0e2672..f976d9614b830 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 80084a136f6cc..6438631017692 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index be547bfeb2488..77919a302b08e 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 9221df076dba4..3bcc2a6abcf1e 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index b6dd2cbfe634d..b8d4c507e5426 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index e530eb77664b2..2d7d1f6344944 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 4a1c2da124b0d..4f18787a375af 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index c163f7591cbbd..414bcf7af9472 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 8bf64cc5691a6..73169eb112e5c 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index e974173a602d8..a20ebc06533ba 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 9fc0c7573796e..4cd9860a8c016 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index db098869cc1aa..6cd98d818f5bd 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 453fbd594ed6c..2b57cb9a42b07 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 38a2d42b42184..c375602c225f9 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 90eedf16a00c3..8af9361955b31 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 02d14053e35d0..107b246b3c767 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 103b193adc77c..b2a4867f57cfc 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index d5a24c3a7c4a3..01384ad40284d 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 3e052c5a2c185..2a3f0ac5656d6 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index e2cd7bfd1c25a..a1ef84571847b 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 35456274d32cc..485eeeffe50a0 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index e7d93c3f19572..30eef9a93add6 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index ebae8f94b8eea..11e350f034e92 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index 258a1c16b2872..f3ec6cefb8679 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 40639fb5f4e77..00fd04613319d 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index f9cfa08503227..0fd59393621be 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 63671cd5e605c..9e7271703ea23 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index 5db011b1bac29..ba690c22bf736 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index f8fa2427b79f5..2c850ce03d7ce 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index c20ee39dfe516..782ea1a5bac52 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 613b3da4cf059..937a5512dcff5 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index 569c351b4c7b8..c4906f5f860cf 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 4760e82741cd6..956c6c1c78f7b 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index d9468c4956595..8d49fe6e71253 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index d2a1e863696ab..ae6f1af0c1eb3 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index b7fa2f3108bab..9d3297430935d 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index 6dd170737a706..490950e341549 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 14e992ce5e636..4d35f1dec4756 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 75d83216b3558..8a5a155b864b5 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index da80d05cf35bb..02e15e94dacb8 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index c4cf0cfec57a3..f1ccb53f39076 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index 4afc1bc9f0276..b1ed70cb6fd59 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index aa9ff85c97e9d..3457a99184c02 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index e87f2627f18e6..b72aa38d2025b 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index 93e7ef815d3d0..f37218d128bda 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 718072263bfb4..0002623242b1c 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 9e57272165446..8de39326b0045 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 750044fc6bdd6..c1858a7d9c7e0 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index e79f069f0405d..189f2bf682c33 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 603546da6c681..450206107cf47 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index 6afdc556fc1ad..4516d012e01fc 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index 6a421d359854c..63f1b68e93502 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 25c2b75baa05b..775e32ac1d591 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index f0123df18202e..b4e20b518fd71 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 1d90518d9b76a..3cdb4dd19a3d1 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 42f73a534c759..458b29e3f52b9 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index d21da647344aa..4094350d13a03 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index 26918272dcc4b..af690c3cb1fa7 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index d135c57569714..4c2cb02409dc6 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 6c31c93356c76..3db9d6b75b281 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index 1fd702450e31e..03df6cec2614c 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 8d28bac4dbc71..8e111b5b1d767 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index 4980dff15b661..0e54b46146687 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index fe42d8fb8ff8e..abe96717bfefe 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index a3bd4fed60f96..cbff4ea009ab0 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index a67fe0417e5a1..8ae4faa00dd01 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index 180bc4b1bc779..360a418e01a07 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index c8d27c81ce30c..8f069f7d7cee0 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index 80e6f27695e66..8541a86e06fe3 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 663a49e60b286..86ba3f6c258e9 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 8d0b5b5fce901..2b0f90fa4f7a7 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index 5e1a2790c40c3..a67a353db51cb 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index 92ad893ea2c6b..bad42d222d1bc 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index f9c4ce9ef0a00..e68403da9feaf 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index 716c00163783e..e4b7de52c8989 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index 73643dcff680b..d8ae81b6ca25a 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index 54bfd1441e92a..837161cdf2129 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index 6e54b8482b6a9..a0823fda11128 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index d6a9ed51351de..c53e51dc80d54 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index 22c3383bb5e1c..09bddd7a54e30 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index ddcf21f8bcfdb..5184e1446b8a2 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 8c8e18ea3d26f..7ebf5efebf9a2 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index 99ea2f4e3c5d1..a8bc3c26196ca 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index c5a4c767f2308..da290c77fd32e 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 32e8ca31f7391..d12f805781443 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index c44d216266060..583f3965121e3 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 7353174bda0f9..da4c6fcd6c023 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 63749ab6ea2da..4df082183977e 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index a038118758be9..585462a2f6ac4 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index c2f7232b0c1a8..b32da7cf7f3fe 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index 42e9db84df9f5..6e9572c79bdca 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index dfe05edc8b7c9..633fe98ae1264 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index 24a62f8529315..c1e2c8211bdcd 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 1bed859eba27b..8591347a02cb1 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 28c3ea4571db8..97589f58ef7f0 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 1be8b38276d13..89815d8fb1d12 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index 2fd8c8adc33e6..2612a2b454a21 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 0945cdf00b8d4..74f6d6f0c2818 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index b9d3cfa9c8307..f3b5125844c44 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index 49d3592260f9f..f7f6cb5f8e9c9 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 65f2c2194592a..0587485d89cf0 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index b435e7427dcc4..8ebb478b85ecc 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index fec28c5ff24a5..8c8f6f673fde3 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index adf9ab1d1f64c..31e6a44eb52d9 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 557cbbce8c652..27cda631bb9e3 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 08d1d69dbc95b..3a9bf3d8372a9 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index 083fbbfdf217e..2564b7f1ea610 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index 8ebcb28d4fcba..06faefc89efa0 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index 2af93c2435300..14b0a78d5664d 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index 38601eb8d81e2..810ab3e64bbb0 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index 442c1cfe82fc3..f6f601098955d 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 5a7f734b8e6d4..be886267160d9 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 39bab6f349b53..5354c08d5a5f4 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 7a15a5e261a2a..6e9101c7d7ae5 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index e546d7eb17a59..b5d3ef10fc43f 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 64c29a4394383..569fb3ce1f001 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 4fd7a438142b6..06526a52eab03 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index ad249fba0574c..3e5cdd134932c 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index d1bde3feae005..1b119d29e5364 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index b2d93b6fdf915..af4886734e265 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 2cfbd8bc1c972..2a5783d872c37 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 83342939278da..48befa9dd754c 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index c86234dfbb5fa..886c80a166b42 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 7c8baed9bf8e3..34e545e5a278b 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index 0bd8cfcc6a952..fa4d670853041 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index 222660f9aafc9..c3055caaa3c2c 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index 480a399c7fa13..0d7ff4bf9fa3a 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 74993f4317746..a0e2ab06193d7 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index f71e0d46bc746..34db03eb41c09 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 98b343e80fcf8..0d2e39a04287f 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index 7c7424073d730..9529b004070b7 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index 1e6538a84df31..b5bc67c6e8226 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index c22ee3b84d91a..c0fe674b7ca24 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index db2e724783c05..8064591412a7a 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 8d3a4b3c31b0c..55e5602e5d681 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 8aa6d785ef472..9e605b605838d 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 95d4ed50ed475..ec7139b7b9326 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index a5febb07791df..046939f5e474f 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index a331f58797f21..ba07abd8f4ea5 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index a1bd12bb79791..593ca0efd05b9 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 5e2a6906ce378..e5a177c21266e 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 3a34c3aef7a85..ab68bc1841ce5 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 56fcb650e081c..a02442989138b 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 8768b51f317a3..d63c165720c51 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index db6e9c7d3eba3..81e8cd085aee9 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index 727b99ca11ec9..f3d3b7819c8b5 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index fabbaeb385d78..529cd8de5302e 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 3f2dce53e40b2..2aa4c6ce02ba0 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index bd7858e467ed7..801f96570ae65 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 8241a403bef14..8f930fb9b2c1a 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 79d38e3799e89..c1471bbee241e 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index 27fc1a94002b1..c9759ef6df70d 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 3dec6516d2527..db932cbfa0310 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index b2502786e26df..c929b98b07a86 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index f4a1a5d969952..747d69708946a 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 7c953d2dd4504..7386a2e827192 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index 32468ce505d5f..fe0f03f33762a 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 3d0b7cedb6e05..ea5a152a1d057 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index 4dae965991b63..5eba3ddebdd38 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index b7ed778e7d1ef..22cdb80677758 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index 09da0c486f6d5..c889923cb5830 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 2c7a55d9b615e..4e17e3d8b0466 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index e75d64faeadf8..753f8d779b7b3 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 796b53a76879f..15c5da35e4840 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 23f3f98e61c95..0de7aa5a518ee 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 64f0f8801ac4c..7c445037e8b5d 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 45c9dfac47e18..70f90f3dc20ab 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index 4a21af3f512f7..2c5bff59f99c8 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index 8c4106f07295e..6404d5f492fc2 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 8552da4c7048b..189fefea6e009 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 1514ffdc575f5..8d678bc02daa7 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index 967ebc59fe0b1..7b494960ac3aa 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index e9f011f78d755..e6aec2eb4a60c 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index f1b0f43d71d1b..354877d217b88 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index d7e233d370021..eb0617a920f30 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 2662a2065f564..19a99a2b95e3d 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index da50eab348ff0..78ca7b06f4108 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 061b99984b5b1..2539f40f5be8e 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index c87073cd71acf..fe698cfdcafeb 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 61c885cdc7830..a14a53787e873 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 44cc1871740c9..36aae26dc9903 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index ecec57a49edec..7b3f0faa027cf 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 5e8bcdc5e739a..47599b58f8d07 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index b86b0140a47f0..4ad356e41031c 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 539323d16df0a..b62b43f181db7 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 145ba420e469e..03b11994546df 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index 41981212ebdae..a79fa233b60c2 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index a8c2d02f6fb88..879d342d58126 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 762e624db77c5..967fe7880a4c5 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index dd0db363b44e3..96ca8d0ac6d0a 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index dffe780356935..4461569637176 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 07d0226868070..e5ddc67d24f63 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index 02cf504b6c013..65d0487d4ba3b 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index 15fa33b3a42ca..15aa4f66931c6 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index 37f81179a9160..e238a48bbb921 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index cd949dc102321..830700d499f93 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 0b5f4cfc99868..3bf19e74f9f3d 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index 4db27a4ec6ba1..af39253166b07 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index 0f441c0e3bd8c..139ad5a35f397 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index 4a15d574e2d80..d069c100321aa 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index b710d415fdf3a..e5cb903be22db 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-17 +date: 2023-09-18 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 1093847484a7c9e7745fd3e459290af6cb6ba2c5 Mon Sep 17 00:00:00 2001 From: Julian Gernun <17549662+jcger@users.noreply.github.com> Date: Mon, 18 Sep 2023 09:16:04 +0200 Subject: [PATCH 065/149] [RAM] HTTP Versioning Aggregate Rules Endpoint (#164284) ## Summary Meta issue: https://github.com/elastic/kibana/issues/157883 - Adds HTTP versioning to the aggregate rules endpoint - Deletes legacy HTTP get aggregate method --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/alerting/common/index.ts | 1 - .../routes/rule/apis/aggregate/index.ts | 21 ++ .../rule/apis/aggregate/schemas/latest.ts | 8 + .../routes/rule/apis/aggregate/schemas/v1.ts | 44 +++ .../rule/apis/aggregate/types/latest.ts | 8 + .../routes/rule/apis/aggregate/types/v1.ts | 16 + x-pack/plugins/alerting/common/rule.ts | 24 +- .../alerting/common/rule_tags_aggregation.ts | 2 +- .../aggregate/aggregate_rules.test.ts} | 39 +-- .../rule/methods/aggregate/aggregate_rules.ts | 62 ++++ .../latest.ts | 7 + .../v1.test.ts | 24 ++ .../default_rule_aggregation_factory/v1.ts | 46 +++ .../rule/methods/aggregate/index.ts | 13 + .../schemas/aggregate_options_schema.ts | 25 ++ .../rule/methods/aggregate/schemas/index.ts | 7 + .../rule/methods/aggregate/types/index.ts | 48 +++ .../methods/aggregate/validation/index.ts | 8 + .../validate_rule_aggregation_fields.test.ts | 6 +- .../validate_rule_aggregation_fields.ts | 0 .../alerting/server/routes/aggregate_rules.ts | 133 -------- .../plugins/alerting/server/routes/index.ts | 2 +- .../server/routes/legacy/aggregate.test.ts | 301 ------------------ .../server/routes/legacy/aggregate.ts | 98 ------ .../alerting/server/routes/legacy/index.ts | 2 - .../aggregate/aggregate_rules_route.test.ts} | 32 +- .../apis/aggregate/aggregate_rules_route.ts | 63 ++++ .../index.test.ts} | 21 +- .../index.ts} | 93 +----- .../rule/apis/aggregate/transforms/index.ts | 13 + .../latest.ts | 7 + .../transform_aggregate_body_response/v1.ts | 25 ++ .../latest.ts | 8 + .../transform_aggregate_query_request/v1.ts | 23 ++ .../routes/rule/apis/aggregate/types/index.ts | 46 +++ .../server/rules_client/methods/aggregate.ts | 64 ---- .../server/rules_client/rules_client.ts | 5 +- .../application/lib/rule_api/aggregate.ts | 7 +- .../lib/rule_api/aggregate_helpers.ts | 25 +- .../lib/rule_api/aggregate_kuery_filter.ts | 14 +- .../tests/alerting/group1/aggregate.ts | 281 ---------------- .../tests/alerting/group1/index.ts | 1 - 42 files changed, 608 insertions(+), 1065 deletions(-) create mode 100644 x-pack/plugins/alerting/common/routes/rule/apis/aggregate/index.ts create mode 100644 x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/v1.ts create mode 100644 x-pack/plugins/alerting/common/routes/rule/apis/aggregate/types/latest.ts create mode 100644 x-pack/plugins/alerting/common/routes/rule/apis/aggregate/types/v1.ts rename x-pack/plugins/alerting/server/{rules_client/tests/aggregate.test.ts => application/rule/methods/aggregate/aggregate_rules.test.ts} (91%) create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/latest.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/v1.test.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/v1.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/aggregate/index.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/aggregate_options_schema.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/index.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/aggregate/types/index.ts create mode 100644 x-pack/plugins/alerting/server/application/rule/methods/aggregate/validation/index.ts rename x-pack/plugins/alerting/server/{rules_client/lib => application/rule/methods/aggregate/validation}/validate_rule_aggregation_fields.test.ts (97%) rename x-pack/plugins/alerting/server/{rules_client/lib => application/rule/methods/aggregate/validation}/validate_rule_aggregation_fields.ts (100%) delete mode 100644 x-pack/plugins/alerting/server/routes/aggregate_rules.ts delete mode 100644 x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts delete mode 100644 x-pack/plugins/alerting/server/routes/legacy/aggregate.ts rename x-pack/plugins/alerting/server/routes/{aggregate_rules.test.ts => rule/apis/aggregate/aggregate_rules_route.test.ts} (90%) create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.ts rename x-pack/plugins/alerting/{common/default_rule_aggregation.test.ts => server/routes/rule/apis/aggregate/transforms/format_default_aggregation_result/index.test.ts} (77%) rename x-pack/plugins/alerting/{common/default_rule_aggregation.ts => server/routes/rule/apis/aggregate/transforms/format_default_aggregation_result/index.ts} (57%) create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/index.ts create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_body_response/latest.ts create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_body_response/v1.ts create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/latest.ts create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/v1.ts create mode 100644 x-pack/plugins/alerting/server/routes/rule/apis/aggregate/types/index.ts delete mode 100644 x-pack/plugins/alerting/server/rules_client/methods/aggregate.ts delete mode 100644 x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/aggregate.ts diff --git a/x-pack/plugins/alerting/common/index.ts b/x-pack/plugins/alerting/common/index.ts index 05b9e84ee2b7a..e2e9e477cc4cc 100644 --- a/x-pack/plugins/alerting/common/index.ts +++ b/x-pack/plugins/alerting/common/index.ts @@ -34,7 +34,6 @@ export * from './parse_duration'; export * from './execution_log_types'; export * from './rule_snooze_type'; export * from './rrule_type'; -export * from './default_rule_aggregation'; export * from './rule_tags_aggregation'; export * from './iso_weekdays'; export * from './saved_objects/rules/mappings'; diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/index.ts b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/index.ts new file mode 100644 index 0000000000000..0bbdbc0ea4069 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/index.ts @@ -0,0 +1,21 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +export { + aggregateRulesRequestBodySchema, + aggregateRulesResponseBodySchema, +} from './schemas/latest'; +export type { AggregateRulesRequestBody, AggregateRulesResponseBody } from './types/latest'; + +export { + aggregateRulesRequestBodySchema as aggregateRulesRequestBodySchemaV1, + aggregateRulesResponseBodySchema as aggregateRulesResponseBodySchemaV1, +} from './schemas/v1'; +export type { + AggregateRulesRequestBody as AggregateRulesRequestBodyV1, + AggregateRulesResponseBody as AggregateRulesResponseBodyV1, + AggregateRulesResponse as AggregateRulesResponseV1, +} from './types/v1'; diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/latest.ts b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/latest.ts new file mode 100644 index 0000000000000..25300c97a6d2e --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/latest.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 './v1'; diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/v1.ts b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/v1.ts new file mode 100644 index 0000000000000..d49ccb090d53d --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/schemas/v1.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 { schema } from '@kbn/config-schema'; + +export const aggregateRulesRequestBodySchema = schema.object({ + search: schema.maybe(schema.string()), + default_search_operator: schema.oneOf([schema.literal('OR'), schema.literal('AND')], { + defaultValue: 'OR', + }), + search_fields: schema.maybe(schema.arrayOf(schema.string())), + has_reference: schema.maybe( + // use nullable as maybe is currently broken + // in config-schema + schema.nullable( + schema.object({ + type: schema.string(), + id: schema.string(), + }) + ) + ), + filter: schema.maybe(schema.string()), +}); + +export const aggregateRulesResponseBodySchema = schema.object({ + rule_execution_status: schema.recordOf(schema.string(), schema.number()), + rule_last_run_outcome: schema.recordOf(schema.string(), schema.number()), + rule_enabled_status: schema.object({ + enabled: schema.number(), + disabled: schema.number(), + }), + rule_muted_status: schema.object({ + muted: schema.number(), + unmuted: schema.number(), + }), + rule_snoozed_status: schema.object({ + snoozed: schema.number(), + }), + rule_tags: schema.arrayOf(schema.string()), +}); diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/types/latest.ts b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/types/latest.ts new file mode 100644 index 0000000000000..25300c97a6d2e --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/types/latest.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 './v1'; diff --git a/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/types/v1.ts b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/types/v1.ts new file mode 100644 index 0000000000000..2dc21a72b3783 --- /dev/null +++ b/x-pack/plugins/alerting/common/routes/rule/apis/aggregate/types/v1.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { TypeOf } from '@kbn/config-schema'; +import { aggregateRulesRequestBodySchemaV1, aggregateRulesResponseBodySchemaV1 } from '..'; + +export type AggregateRulesRequestBody = TypeOf<typeof aggregateRulesRequestBodySchemaV1>; +export type AggregateRulesResponseBody = TypeOf<typeof aggregateRulesResponseBodySchemaV1>; + +export interface AggregateRulesResponse { + body: AggregateRulesResponseBody; +} diff --git a/x-pack/plugins/alerting/common/rule.ts b/x-pack/plugins/alerting/common/rule.ts index 22692a091a38c..5a8e1b275ef7e 100644 --- a/x-pack/plugins/alerting/common/rule.ts +++ b/x-pack/plugins/alerting/common/rule.ts @@ -10,7 +10,7 @@ import type { SavedObjectAttributes, SavedObjectsResolveResponse, } from '@kbn/core/server'; -import type { Filter, KueryNode } from '@kbn/es-query'; +import type { Filter } from '@kbn/es-query'; import { IsoWeekday } from './iso_weekdays'; import { RuleNotifyWhenType } from './rule_notify_when_type'; import { RuleSnooze } from './rule_snooze_type'; @@ -118,28 +118,6 @@ export interface RuleAction { alertsFilter?: AlertsFilter; } -export interface AggregateOptions { - search?: string; - defaultSearchOperator?: 'AND' | 'OR'; - searchFields?: string[]; - hasReference?: { - type: string; - id: string; - }; - filter?: string | KueryNode; - page?: number; - perPage?: number; -} - -export interface RuleAggregationFormattedResult { - ruleExecutionStatus: { [status: string]: number }; - ruleLastRunOutcome: { [status: string]: number }; - ruleEnabledStatus: { enabled: number; disabled: number }; - ruleMutedStatus: { muted: number; unmuted: number }; - ruleSnoozedStatus: { snoozed: number }; - ruleTags: string[]; -} - export interface RuleLastRun { outcome: RuleLastRunOutcomes; outcomeOrder?: number; diff --git a/x-pack/plugins/alerting/common/rule_tags_aggregation.ts b/x-pack/plugins/alerting/common/rule_tags_aggregation.ts index d7b8fc4089c27..04cf6676059d8 100644 --- a/x-pack/plugins/alerting/common/rule_tags_aggregation.ts +++ b/x-pack/plugins/alerting/common/rule_tags_aggregation.ts @@ -10,7 +10,7 @@ import type { AggregationsCompositeAggregation, AggregationsAggregateOrder, } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import type { AggregateOptions } from './rule'; +import type { AggregateOptions } from '../server/application/rule/methods/aggregate/types'; export type RuleTagsAggregationOptions = Pick<AggregateOptions, 'filter' | 'search'> & { after?: AggregationsCompositeAggregation['after']; diff --git a/x-pack/plugins/alerting/server/rules_client/tests/aggregate.test.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.test.ts similarity index 91% rename from x-pack/plugins/alerting/server/rules_client/tests/aggregate.test.ts rename to x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.test.ts index 64f7325092691..b8fbc0427b7f4 100644 --- a/x-pack/plugins/alerting/server/rules_client/tests/aggregate.test.ts +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.test.ts @@ -5,45 +5,43 @@ * 2.0. */ -import { RulesClient, ConstructorOptions } from '../rules_client'; +import { RulesClient, ConstructorOptions } from '../../../../rules_client'; import { savedObjectsClientMock, loggingSystemMock, savedObjectsRepositoryMock, } from '@kbn/core/server/mocks'; import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks'; -import { ruleTypeRegistryMock } from '../../rule_type_registry.mock'; -import { alertingAuthorizationMock } from '../../authorization/alerting_authorization.mock'; +import { ruleTypeRegistryMock } from '../../../../rule_type_registry.mock'; +import { alertingAuthorizationMock } from '../../../../authorization/alerting_authorization.mock'; import { encryptedSavedObjectsMock } from '@kbn/encrypted-saved-objects-plugin/server/mocks'; import { actionsAuthorizationMock } from '@kbn/actions-plugin/server/mocks'; -import { AlertingAuthorization } from '../../authorization/alerting_authorization'; +import { AlertingAuthorization } from '../../../../authorization/alerting_authorization'; import { ActionsAuthorization } from '@kbn/actions-plugin/server'; import { auditLoggerMock } from '@kbn/security-plugin/server/audit/mocks'; -import { getBeforeSetup, setGlobalDate } from './lib'; -import { - RecoveredActionGroup, - getDefaultRuleAggregation, - DefaultRuleAggregationResult, -} from '../../../common'; -import { RegistryRuleType } from '../../rule_type_registry'; +import { getBeforeSetup, setGlobalDate } from '../../../../rules_client/tests/lib'; + +import { RegistryRuleType } from '../../../../rule_type_registry'; import { fromKueryExpression, nodeTypes } from '@kbn/es-query'; +import { RecoveredActionGroup } from '../../../../../common'; +import { DefaultRuleAggregationResult } from '../../../../routes/rule/apis/aggregate/types'; +import { defaultRuleAggregationFactory } from '.'; const taskManager = taskManagerMock.createStart(); const ruleTypeRegistry = ruleTypeRegistryMock.create(); const unsecuredSavedObjectsClient = savedObjectsClientMock.create(); +const internalSavedObjectsRepository = savedObjectsRepositoryMock.create(); const encryptedSavedObjects = encryptedSavedObjectsMock.createClient(); const authorization = alertingAuthorizationMock.create(); const actionsAuthorization = actionsAuthorizationMock.create(); const auditLogger = auditLoggerMock.create(); -const internalSavedObjectsRepository = savedObjectsRepositoryMock.create(); const kibanaVersion = 'v7.10.0'; const rulesClientParams: jest.Mocked<ConstructorOptions> = { taskManager, ruleTypeRegistry, unsecuredSavedObjectsClient, - maxScheduledPerMinute: 10000, minimumScheduleInterval: { value: '1m', enforce: false }, authorization: authorization as unknown as AlertingAuthorization, actionsAuthorization: actionsAuthorization as unknown as ActionsAuthorization, @@ -52,13 +50,14 @@ const rulesClientParams: jest.Mocked<ConstructorOptions> = { getUserName: jest.fn(), createAPIKey: jest.fn(), logger: loggingSystemMock.create().get(), - internalSavedObjectsRepository, encryptedSavedObjectsClient: encryptedSavedObjects, getActionsClient: jest.fn(), getEventLogClient: jest.fn(), kibanaVersion, isAuthenticationTypeAPIKey: jest.fn(), getAuthenticationAPIKey: jest.fn(), + maxScheduledPerMinute: 1000, + internalSavedObjectsRepository, }; beforeEach(() => { @@ -176,7 +175,7 @@ describe('aggregate()', () => { const rulesClient = new RulesClient(rulesClientParams); const result = await rulesClient.aggregate<DefaultRuleAggregationResult>({ options: {}, - aggs: getDefaultRuleAggregation(), + aggs: defaultRuleAggregationFactory(), }); expect(result).toMatchInlineSnapshot(` @@ -332,7 +331,7 @@ describe('aggregate()', () => { const rulesClient = new RulesClient(rulesClientParams); await rulesClient.aggregate({ options: { filter: 'foo: someTerm' }, - aggs: getDefaultRuleAggregation(), + aggs: defaultRuleAggregationFactory(), }); expect(unsecuredSavedObjectsClient.find).toHaveBeenCalledTimes(1); @@ -385,7 +384,9 @@ describe('aggregate()', () => { const rulesClient = new RulesClient({ ...rulesClientParams, auditLogger }); authorization.getFindAuthorizationFilter.mockRejectedValue(new Error('Unauthorized')); - await expect(rulesClient.aggregate({ aggs: getDefaultRuleAggregation() })).rejects.toThrow(); + await expect( + rulesClient.aggregate({ aggs: defaultRuleAggregationFactory() }) + ).rejects.toThrow(); expect(auditLogger.log).toHaveBeenCalledWith( expect.objectContaining({ event: expect.objectContaining({ @@ -404,7 +405,7 @@ describe('aggregate()', () => { test('sets to default (50) if it is not provided', async () => { const rulesClient = new RulesClient(rulesClientParams); - await rulesClient.aggregate({ aggs: getDefaultRuleAggregation() }); + await rulesClient.aggregate({ aggs: defaultRuleAggregationFactory() }); expect(unsecuredSavedObjectsClient.find.mock.calls[0]).toMatchObject([ { @@ -421,7 +422,7 @@ describe('aggregate()', () => { const rulesClient = new RulesClient(rulesClientParams); await rulesClient.aggregate({ - aggs: getDefaultRuleAggregation({ maxTags: 1000 }), + aggs: defaultRuleAggregationFactory({ maxTags: 1000 }), }); expect(unsecuredSavedObjectsClient.find.mock.calls[0]).toMatchObject([ diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.ts new file mode 100644 index 0000000000000..f992f5cead705 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/aggregate_rules.ts @@ -0,0 +1,62 @@ +/* + * 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 { KueryNode, nodeBuilder } from '@kbn/es-query'; +import { findRulesSo } from '../../../../data/rule'; +import { AlertingAuthorizationEntity } from '../../../../authorization'; +import { ruleAuditEvent, RuleAuditAction } from '../../../../rules_client/common/audit_events'; +import { buildKueryNodeFilter } from '../../../../rules_client/common'; +import { alertingAuthorizationFilterOpts } from '../../../../rules_client/common/constants'; +import { RulesClientContext } from '../../../../rules_client/types'; +import { aggregateOptionsSchema } from './schemas'; +import type { AggregateParams } from './types'; +import { validateRuleAggregationFields } from './validation'; + +export async function aggregateRules<T = Record<string, unknown>>( + context: RulesClientContext, + params: AggregateParams<T> +): Promise<T> { + const { options = {}, aggs } = params; + const { filter, page = 1, perPage = 0, ...restOptions } = options; + + let authorizationTuple; + try { + authorizationTuple = await context.authorization.getFindAuthorizationFilter( + AlertingAuthorizationEntity.Rule, + alertingAuthorizationFilterOpts + ); + validateRuleAggregationFields(aggs); + aggregateOptionsSchema.validate(options); + } catch (error) { + context.auditLogger?.log( + ruleAuditEvent({ + action: RuleAuditAction.AGGREGATE, + error, + }) + ); + throw error; + } + + const { filter: authorizationFilter } = authorizationTuple; + const filterKueryNode = buildKueryNodeFilter(filter); + + const { aggregations } = await findRulesSo<T>({ + savedObjectsClient: context.unsecuredSavedObjectsClient, + savedObjectsFindOptions: { + ...restOptions, + filter: + authorizationFilter && filterKueryNode + ? nodeBuilder.and([filterKueryNode, authorizationFilter as KueryNode]) + : authorizationFilter, + page, + perPage, + aggs, + }, + }); + + return aggregations!; +} diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/latest.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/latest.ts new file mode 100644 index 0000000000000..210b2ee194850 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/latest.ts @@ -0,0 +1,7 @@ +/* + * 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 { defaultRuleAggregationFactory } from './v1'; diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/v1.test.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/v1.test.ts new file mode 100644 index 0000000000000..2accb33511681 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/v1.test.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. + */ + +import { defaultRuleAggregationFactory } from './v1'; + +describe('getDefaultRuleAggregation', () => { + it('should return aggregation with default maxTags', () => { + const result = defaultRuleAggregationFactory(); + expect(result.tags).toEqual({ + terms: { field: 'alert.attributes.tags', order: { _key: 'asc' }, size: 50 }, + }); + }); + + it('should return aggregation with custom maxTags', () => { + const result = defaultRuleAggregationFactory({ maxTags: 100 }); + expect(result.tags).toEqual({ + terms: { field: 'alert.attributes.tags', order: { _key: 'asc' }, size: 100 }, + }); + }); +}); diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/v1.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/v1.ts new file mode 100644 index 0000000000000..371c12c1fada3 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/factories/default_rule_aggregation_factory/v1.ts @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { AggregationsAggregationContainer } from '@elastic/elasticsearch/lib/api/types'; +import { DefaultRuleAggregationParams } from '../../types'; + +export const defaultRuleAggregationFactory = ( + params?: DefaultRuleAggregationParams +): Record<string, AggregationsAggregationContainer> => { + const { maxTags = 50 } = params || {}; + return { + status: { + terms: { field: 'alert.attributes.executionStatus.status' }, + }, + outcome: { + terms: { field: 'alert.attributes.lastRun.outcome' }, + }, + enabled: { + terms: { field: 'alert.attributes.enabled' }, + }, + muted: { + terms: { field: 'alert.attributes.muteAll' }, + }, + tags: { + terms: { field: 'alert.attributes.tags', order: { _key: 'asc' }, size: maxTags }, + }, + snoozed: { + nested: { + path: 'alert.attributes.snoozeSchedule', + }, + aggs: { + count: { + filter: { + exists: { + field: 'alert.attributes.snoozeSchedule.duration', + }, + }, + }, + }, + }, + }; +}; diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/index.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/index.ts new file mode 100644 index 0000000000000..ccb5ca61daf9a --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/index.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { defaultRuleAggregationFactory } from './factories/default_rule_aggregation_factory/latest'; +export { defaultRuleAggregationFactory as defaultRuleAggregationFactoryV1 } from './factories/default_rule_aggregation_factory/v1'; +// export { aggregateOptionsSchema } from './schemas'; +// export type { AggregateOptions, AggregateParams, DefaultRuleAggregationParams } from './types'; + +export { aggregateRules } from './aggregate_rules'; diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/aggregate_options_schema.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/aggregate_options_schema.ts new file mode 100644 index 0000000000000..3ac244b808752 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/aggregate_options_schema.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. + */ +import { schema } from '@kbn/config-schema'; + +export const aggregateOptionsSchema = schema.object({ + search: schema.maybe(schema.string()), + defaultSearchOperator: schema.maybe(schema.oneOf([schema.literal('AND'), schema.literal('OR')])), + searchFields: schema.maybe(schema.arrayOf(schema.string())), + hasReference: schema.maybe( + schema.object({ + type: schema.string(), + id: schema.string(), + }) + ), + // filter type is `string | KueryNode`, but `KueryNode` has no schema to import yet + filter: schema.maybe( + schema.oneOf([schema.string(), schema.recordOf(schema.string(), schema.any())]) + ), + page: schema.maybe(schema.number()), + perPage: schema.maybe(schema.number()), +}); diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/index.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/index.ts new file mode 100644 index 0000000000000..c29f688596ef4 --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/schemas/index.ts @@ -0,0 +1,7 @@ +/* + * 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 { aggregateOptionsSchema } from './aggregate_options_schema'; diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/types/index.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/types/index.ts new file mode 100644 index 0000000000000..3733a49003bba --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/types/index.ts @@ -0,0 +1,48 @@ +/* + * 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 { AggregationsAggregationContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import { TypeOf } from '@kbn/config-schema'; +import { KueryNode } from '@kbn/es-query'; +import { aggregateOptionsSchema } from '../schemas'; + +type AggregateOptionsSchemaTypes = TypeOf<typeof aggregateOptionsSchema>; +export type AggregateOptions = TypeOf<typeof aggregateOptionsSchema> & { + search?: AggregateOptionsSchemaTypes['search']; + defaultSearchOperator?: AggregateOptionsSchemaTypes['defaultSearchOperator']; + searchFields?: AggregateOptionsSchemaTypes['searchFields']; + hasReference?: AggregateOptionsSchemaTypes['hasReference']; + // Adding filter as in schema it's defined as any instead of KueryNode + filter?: string | KueryNode; + page?: AggregateOptionsSchemaTypes['page']; + perPage?: AggregateOptionsSchemaTypes['perPage']; +}; + +export interface AggregateParams<AggregationResult> { + options?: AggregateOptions; + aggs: Record<keyof AggregationResult, AggregationsAggregationContainer>; +} + +export interface DefaultRuleAggregationParams { + maxTags?: number; +} + +export interface RuleAggregationFormattedResult { + ruleExecutionStatus: Record<string, number>; + ruleLastRunOutcome: Record<string, number>; + ruleEnabledStatus: { + enabled: number; + disabled: number; + }; + ruleMutedStatus: { + muted: number; + unmuted: number; + }; + ruleSnoozedStatus: { + snoozed: number; + }; + ruleTags: string[]; +} diff --git a/x-pack/plugins/alerting/server/application/rule/methods/aggregate/validation/index.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/validation/index.ts new file mode 100644 index 0000000000000..bce1dab4756fe --- /dev/null +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/validation/index.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 { validateRuleAggregationFields } from './validate_rule_aggregation_fields'; diff --git a/x-pack/plugins/alerting/server/rules_client/lib/validate_rule_aggregation_fields.test.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/validation/validate_rule_aggregation_fields.test.ts similarity index 97% rename from x-pack/plugins/alerting/server/rules_client/lib/validate_rule_aggregation_fields.test.ts rename to x-pack/plugins/alerting/server/application/rule/methods/aggregate/validation/validate_rule_aggregation_fields.test.ts index 599938de4b1fc..8bb6e75b88f72 100644 --- a/x-pack/plugins/alerting/server/rules_client/lib/validate_rule_aggregation_fields.test.ts +++ b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/validation/validate_rule_aggregation_fields.test.ts @@ -5,8 +5,10 @@ * 2.0. */ -import { getRuleTagsAggregation, getDefaultRuleAggregation } from '../../../common'; import type { AggregationsAggregateOrder } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import { getRuleTagsAggregation } from '../../../../../../common'; +import { defaultRuleAggregationFactory } from '..'; + import { validateRuleAggregationFields } from './validate_rule_aggregation_fields'; describe('validateAggregationTerms', () => { @@ -95,7 +97,7 @@ describe('validateAggregationTerms', () => { }); it('should allow for default and tags aggregations', () => { - expect(() => validateRuleAggregationFields(getDefaultRuleAggregation())).not.toThrowError(); + expect(() => validateRuleAggregationFields(defaultRuleAggregationFactory())).not.toThrowError(); expect(() => validateRuleAggregationFields(getRuleTagsAggregation())).not.toThrowError(); }); diff --git a/x-pack/plugins/alerting/server/rules_client/lib/validate_rule_aggregation_fields.ts b/x-pack/plugins/alerting/server/application/rule/methods/aggregate/validation/validate_rule_aggregation_fields.ts similarity index 100% rename from x-pack/plugins/alerting/server/rules_client/lib/validate_rule_aggregation_fields.ts rename to x-pack/plugins/alerting/server/application/rule/methods/aggregate/validation/validate_rule_aggregation_fields.ts diff --git a/x-pack/plugins/alerting/server/routes/aggregate_rules.ts b/x-pack/plugins/alerting/server/routes/aggregate_rules.ts deleted file mode 100644 index ea3bb22bd0d17..0000000000000 --- a/x-pack/plugins/alerting/server/routes/aggregate_rules.ts +++ /dev/null @@ -1,133 +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 { IRouter } from '@kbn/core/server'; -import { schema } from '@kbn/config-schema'; -import { UsageCounter } from '@kbn/usage-collection-plugin/server'; -import { - AggregateOptions, - DefaultRuleAggregationResult, - formatDefaultAggregationResult, - getDefaultRuleAggregation, - RuleAggregationFormattedResult, -} from '../../common'; -import { ILicenseState } from '../lib'; -import { RewriteResponseCase, RewriteRequestCase, verifyAccessAndContext } from './lib'; -import { AlertingRequestHandlerContext, INTERNAL_BASE_ALERTING_API_PATH } from '../types'; -import { trackLegacyTerminology } from './lib/track_legacy_terminology'; - -// config definition -const querySchema = schema.object({ - search: schema.maybe(schema.string()), - default_search_operator: schema.oneOf([schema.literal('OR'), schema.literal('AND')], { - defaultValue: 'OR', - }), - search_fields: schema.maybe(schema.arrayOf(schema.string())), - has_reference: schema.maybe( - // use nullable as maybe is currently broken - // in config-schema - schema.nullable( - schema.object({ - type: schema.string(), - id: schema.string(), - }) - ) - ), - filter: schema.maybe(schema.string()), -}); - -const rewriteQueryReq: RewriteRequestCase<AggregateOptions> = ({ - default_search_operator: defaultSearchOperator, - has_reference: hasReference, - search_fields: searchFields, - ...rest -}) => ({ - ...rest, - defaultSearchOperator, - ...(hasReference ? { hasReference } : {}), - ...(searchFields ? { searchFields } : {}), -}); -const rewriteBodyRes: RewriteResponseCase<RuleAggregationFormattedResult> = ({ - ruleExecutionStatus, - ruleLastRunOutcome, - ruleEnabledStatus, - ruleMutedStatus, - ruleSnoozedStatus, - ruleTags, - ...rest -}) => ({ - ...rest, - rule_execution_status: ruleExecutionStatus, - rule_last_run_outcome: ruleLastRunOutcome, - rule_enabled_status: ruleEnabledStatus, - rule_muted_status: ruleMutedStatus, - rule_snoozed_status: ruleSnoozedStatus, - rule_tags: ruleTags, -}); - -export const aggregateRulesRoute = ( - router: IRouter<AlertingRequestHandlerContext>, - licenseState: ILicenseState, - usageCounter?: UsageCounter -) => { - router.get( - { - path: `${INTERNAL_BASE_ALERTING_API_PATH}/rules/_aggregate`, - validate: { - query: querySchema, - }, - }, - router.handleLegacyErrors( - verifyAccessAndContext(licenseState, async function (context, req, res) { - const rulesClient = (await context.alerting).getRulesClient(); - const options = rewriteQueryReq({ - ...req.query, - has_reference: req.query.has_reference || undefined, - }); - trackLegacyTerminology( - [req.query.search, req.query.search_fields].filter(Boolean) as string[], - usageCounter - ); - const aggregateResult = await rulesClient.aggregate<DefaultRuleAggregationResult>({ - aggs: getDefaultRuleAggregation(), - options, - }); - return res.ok({ - body: rewriteBodyRes(formatDefaultAggregationResult(aggregateResult)), - }); - }) - ) - ); - router.post( - { - path: `${INTERNAL_BASE_ALERTING_API_PATH}/rules/_aggregate`, - validate: { - body: querySchema, - }, - }, - router.handleLegacyErrors( - verifyAccessAndContext(licenseState, async function (context, req, res) { - const rulesClient = (await context.alerting).getRulesClient(); - const options = rewriteQueryReq({ - ...req.body, - has_reference: req.body.has_reference || undefined, - }); - trackLegacyTerminology( - [req.body.search, req.body.search_fields].filter(Boolean) as string[], - usageCounter - ); - const aggregateResult = await rulesClient.aggregate<DefaultRuleAggregationResult>({ - aggs: getDefaultRuleAggregation(), - options, - }); - return res.ok({ - body: rewriteBodyRes(formatDefaultAggregationResult(aggregateResult)), - }); - }) - ) - ); -}; diff --git a/x-pack/plugins/alerting/server/routes/index.ts b/x-pack/plugins/alerting/server/routes/index.ts index bdc9dcee21895..1bffc87e7b60a 100644 --- a/x-pack/plugins/alerting/server/routes/index.ts +++ b/x-pack/plugins/alerting/server/routes/index.ts @@ -17,7 +17,7 @@ import { createRuleRoute } from './rule/apis/create'; import { getRuleRoute, getInternalRuleRoute } from './get_rule'; import { updateRuleRoute } from './update_rule'; import { deleteRuleRoute } from './delete_rule'; -import { aggregateRulesRoute } from './aggregate_rules'; +import { aggregateRulesRoute } from './rule/apis/aggregate/aggregate_rules_route'; import { disableRuleRoute } from './disable_rule'; import { enableRuleRoute } from './enable_rule'; import { findRulesRoute, findInternalRulesRoute } from './find_rules'; diff --git a/x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts b/x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts deleted file mode 100644 index 9ba0bbd86da3f..0000000000000 --- a/x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts +++ /dev/null @@ -1,301 +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 { aggregateAlertRoute } from './aggregate'; -import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../../lib/license_state.mock'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { mockHandlerArguments } from '../_mock_handler_arguments'; -import { rulesClientMock } from '../../rules_client.mock'; -import { trackLegacyRouteUsage } from '../../lib/track_legacy_route_usage'; -import { trackLegacyTerminology } from '../lib/track_legacy_terminology'; -import { usageCountersServiceMock } from '@kbn/usage-collection-plugin/server/usage_counters/usage_counters_service.mock'; - -const rulesClient = rulesClientMock.create(); -const mockUsageCountersSetup = usageCountersServiceMock.createSetupContract(); -const mockUsageCounter = mockUsageCountersSetup.createUsageCounter('test'); - -jest.mock('../../lib/track_legacy_route_usage', () => ({ - trackLegacyRouteUsage: jest.fn(), -})); - -jest.mock('../../lib/license_api_access', () => ({ - verifyApiAccess: jest.fn(), -})); - -jest.mock('../lib/track_legacy_terminology', () => ({ - trackLegacyTerminology: jest.fn(), -})); - -jest.mock('../../../common', () => ({ - ...jest.requireActual('../../../common'), - formatDefaultAggregationResult: jest.fn(), -})); - -const { formatDefaultAggregationResult } = jest.requireMock('../../../common'); - -beforeEach(() => { - jest.resetAllMocks(); -}); - -describe('aggregateAlertRoute', () => { - it('aggregate alerts with proper parameters', async () => { - const licenseState = licenseStateMock.create(); - const router = httpServiceMock.createRouter(); - - aggregateAlertRoute(router, licenseState); - - const [config, handler] = router.get.mock.calls[0]; - - expect(config.path).toMatchInlineSnapshot(`"/api/alerts/_aggregate"`); - - const aggregateResult = { - ruleExecutionStatus: { - ok: 15, - error: 2, - active: 23, - pending: 1, - unknown: 0, - }, - ruleLastRunOutcome: { - succeeded: 1, - failed: 2, - warning: 3, - }, - }; - formatDefaultAggregationResult.mockReturnValueOnce(aggregateResult); - - const [context, req, res] = mockHandlerArguments( - { rulesClient }, - { - query: { - default_search_operator: 'AND', - }, - }, - ['ok'] - ); - - expect(await handler(context, req, res)).toMatchInlineSnapshot(` - Object { - "body": Object { - "alertExecutionStatus": Object { - "active": 23, - "error": 2, - "ok": 15, - "pending": 1, - "unknown": 0, - }, - "ruleLastRunOutcome": Object { - "failed": 2, - "succeeded": 1, - "warning": 3, - }, - }, - } - `); - - expect(rulesClient.aggregate).toHaveBeenCalledTimes(1); - expect(rulesClient.aggregate.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - Object { - "aggs": Object { - "enabled": Object { - "terms": Object { - "field": "alert.attributes.enabled", - }, - }, - "muted": Object { - "terms": Object { - "field": "alert.attributes.muteAll", - }, - }, - "outcome": Object { - "terms": Object { - "field": "alert.attributes.lastRun.outcome", - }, - }, - "snoozed": Object { - "aggs": Object { - "count": Object { - "filter": Object { - "exists": Object { - "field": "alert.attributes.snoozeSchedule.duration", - }, - }, - }, - }, - "nested": Object { - "path": "alert.attributes.snoozeSchedule", - }, - }, - "status": Object { - "terms": Object { - "field": "alert.attributes.executionStatus.status", - }, - }, - "tags": Object { - "terms": Object { - "field": "alert.attributes.tags", - "order": Object { - "_key": "asc", - }, - "size": 50, - }, - }, - }, - "options": Object { - "defaultSearchOperator": "AND", - }, - }, - ] - `); - - expect(res.ok).toHaveBeenCalledWith({ - body: { - ruleLastRunOutcome: aggregateResult.ruleLastRunOutcome, - alertExecutionStatus: aggregateResult.ruleExecutionStatus, - }, - }); - }); - - it('ensures the license allows aggregating alerts', async () => { - const licenseState = licenseStateMock.create(); - const router = httpServiceMock.createRouter(); - - aggregateAlertRoute(router, licenseState); - - const [, handler] = router.get.mock.calls[0]; - - formatDefaultAggregationResult.mockReturnValueOnce({ - ruleExecutionStatus: { - ok: 15, - error: 2, - active: 23, - pending: 1, - unknown: 0, - }, - ruleLastRunOutcome: { - succeeded: 1, - failed: 2, - warning: 3, - }, - }); - - const [context, req, res] = mockHandlerArguments( - { rulesClient }, - { - query: { - default_search_operator: 'OR', - }, - } - ); - - await handler(context, req, res); - - expect(verifyApiAccess).toHaveBeenCalledWith(licenseState); - }); - - it('ensures the license check prevents aggregating alerts', async () => { - const licenseState = licenseStateMock.create(); - const router = httpServiceMock.createRouter(); - - (verifyApiAccess as jest.Mock).mockImplementation(() => { - throw new Error('OMG'); - }); - - aggregateAlertRoute(router, licenseState); - - const [, handler] = router.get.mock.calls[0]; - - const [context, req, res] = mockHandlerArguments( - {}, - { - query: {}, - }, - ['ok'] - ); - expect(handler(context, req, res)).rejects.toMatchInlineSnapshot(`[Error: OMG]`); - - expect(verifyApiAccess).toHaveBeenCalledWith(licenseState); - }); - - it('should track every call', async () => { - const licenseState = licenseStateMock.create(); - const router = httpServiceMock.createRouter(); - - aggregateAlertRoute(router, licenseState, mockUsageCounter); - - formatDefaultAggregationResult.mockReturnValueOnce({ - ruleExecutionStatus: { - ok: 15, - error: 2, - active: 23, - pending: 1, - unknown: 0, - }, - ruleLastRunOutcome: { - succeeded: 1, - failed: 2, - warning: 3, - }, - }); - - const [, handler] = router.get.mock.calls[0]; - const [context, req, res] = mockHandlerArguments( - { rulesClient }, - { - query: { - default_search_operator: 'AND', - }, - }, - ['ok'] - ); - await handler(context, req, res); - expect(trackLegacyRouteUsage).toHaveBeenCalledWith('aggregate', mockUsageCounter); - }); - - it('should track calls with deprecated param values', async () => { - const licenseState = licenseStateMock.create(); - const router = httpServiceMock.createRouter(); - - aggregateAlertRoute(router, licenseState, mockUsageCounter); - - formatDefaultAggregationResult.mockReturnValueOnce({ - ruleExecutionStatus: { - ok: 15, - error: 2, - active: 23, - pending: 1, - unknown: 0, - }, - ruleLastRunOutcome: { - succeeded: 1, - failed: 2, - warning: 3, - }, - }); - - const [, handler] = router.get.mock.calls[0]; - const [context, req, res] = mockHandlerArguments( - { rulesClient }, - { - params: {}, - query: { - search_fields: ['alertTypeId:1', 'message:foo'], - search: 'alertTypeId:2', - }, - }, - ['ok'] - ); - await handler(context, req, res); - expect(trackLegacyTerminology).toHaveBeenCalledTimes(1); - expect((trackLegacyTerminology as jest.Mock).mock.calls[0][0]).toStrictEqual([ - 'alertTypeId:2', - ['alertTypeId:1', 'message:foo'], - ]); - }); -}); diff --git a/x-pack/plugins/alerting/server/routes/legacy/aggregate.ts b/x-pack/plugins/alerting/server/routes/legacy/aggregate.ts deleted file mode 100644 index 44559830a24e9..0000000000000 --- a/x-pack/plugins/alerting/server/routes/legacy/aggregate.ts +++ /dev/null @@ -1,98 +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 { schema } from '@kbn/config-schema'; -import { UsageCounter } from '@kbn/usage-collection-plugin/server'; -import type { AlertingRouter } from '../../types'; -import { ILicenseState } from '../../lib/license_state'; -import { verifyApiAccess } from '../../lib/license_api_access'; -import { - LEGACY_BASE_ALERT_API_PATH, - DefaultRuleAggregationResult, - getDefaultRuleAggregation, - formatDefaultAggregationResult, -} from '../../../common'; -import { renameKeys } from '../lib/rename_keys'; -import { FindOptions } from '../../rules_client'; -import { trackLegacyRouteUsage } from '../../lib/track_legacy_route_usage'; -import { trackLegacyTerminology } from '../lib/track_legacy_terminology'; - -// config definition -const querySchema = schema.object({ - search: schema.maybe(schema.string()), - default_search_operator: schema.oneOf([schema.literal('OR'), schema.literal('AND')], { - defaultValue: 'OR', - }), - search_fields: schema.maybe(schema.oneOf([schema.arrayOf(schema.string()), schema.string()])), - has_reference: schema.maybe( - // use nullable as maybe is currently broken - // in config-schema - schema.nullable( - schema.object({ - type: schema.string(), - id: schema.string(), - }) - ) - ), - filter: schema.maybe(schema.string()), -}); - -export const aggregateAlertRoute = ( - router: AlertingRouter, - licenseState: ILicenseState, - usageCounter?: UsageCounter -) => { - router.get( - { - path: `${LEGACY_BASE_ALERT_API_PATH}/_aggregate`, - validate: { - query: querySchema, - }, - }, - router.handleLegacyErrors(async function (context, req, res) { - verifyApiAccess(licenseState); - if (!context.alerting) { - return res.badRequest({ body: 'RouteHandlerContext is not registered for alerting' }); - } - const rulesClient = (await context.alerting).getRulesClient(); - - trackLegacyRouteUsage('aggregate', usageCounter); - trackLegacyTerminology( - [req.query.search, req.query.search_fields].filter(Boolean) as string[], - usageCounter - ); - - const query = req.query; - const renameMap = { - default_search_operator: 'defaultSearchOperator', - has_reference: 'hasReference', - search: 'search', - filter: 'filter', - }; - - const options = renameKeys<FindOptions, Record<string, unknown>>(renameMap, query); - - if (query.search_fields) { - options.searchFields = Array.isArray(query.search_fields) - ? query.search_fields - : [query.search_fields]; - } - - const aggregateResult = await rulesClient.aggregate<DefaultRuleAggregationResult>({ - options, - aggs: getDefaultRuleAggregation(), - }); - const { ruleExecutionStatus, ...rest } = formatDefaultAggregationResult(aggregateResult); - return res.ok({ - body: { - ...rest, - alertExecutionStatus: ruleExecutionStatus, - }, - }); - }) - ); -}; diff --git a/x-pack/plugins/alerting/server/routes/legacy/index.ts b/x-pack/plugins/alerting/server/routes/legacy/index.ts index a89ccf0920b29..f915cff705318 100644 --- a/x-pack/plugins/alerting/server/routes/legacy/index.ts +++ b/x-pack/plugins/alerting/server/routes/legacy/index.ts @@ -5,7 +5,6 @@ * 2.0. */ -import { aggregateAlertRoute } from './aggregate'; import { createAlertRoute } from './create'; import { deleteAlertRoute } from './delete'; import { findAlertRoute } from './find'; @@ -28,7 +27,6 @@ export function defineLegacyRoutes(opts: RouteOptions) { const { router, licenseState, encryptedSavedObjects, usageCounter } = opts; createAlertRoute(opts); - aggregateAlertRoute(router, licenseState, usageCounter); deleteAlertRoute(router, licenseState, usageCounter); findAlertRoute(router, licenseState, usageCounter); getAlertRoute(router, licenseState, usageCounter); diff --git a/x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.test.ts similarity index 90% rename from x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts rename to x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.test.ts index c9bfbdca4aa0b..51a7da620dfb3 100644 --- a/x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.test.ts @@ -5,24 +5,24 @@ * 2.0. */ -import { aggregateRulesRoute } from './aggregate_rules'; +import { aggregateRulesRoute } from './aggregate_rules_route'; import { httpServiceMock } from '@kbn/core/server/mocks'; -import { licenseStateMock } from '../lib/license_state.mock'; -import { verifyApiAccess } from '../lib/license_api_access'; -import { mockHandlerArguments } from './_mock_handler_arguments'; -import { rulesClientMock } from '../rules_client.mock'; -import { trackLegacyTerminology } from './lib/track_legacy_terminology'; +import { licenseStateMock } from '../../../../lib/license_state.mock'; +import { verifyApiAccess } from '../../../../lib/license_api_access'; +import { mockHandlerArguments } from '../../../_mock_handler_arguments'; +import { rulesClientMock } from '../../../../rules_client.mock'; +import { trackLegacyTerminology } from '../../../lib/track_legacy_terminology'; import { usageCountersServiceMock } from '@kbn/usage-collection-plugin/server/usage_counters/usage_counters_service.mock'; const rulesClient = rulesClientMock.create(); const mockUsageCountersSetup = usageCountersServiceMock.createSetupContract(); const mockUsageCounter = mockUsageCountersSetup.createUsageCounter('test'); -jest.mock('../lib/license_api_access', () => ({ +jest.mock('../../../../lib/license_api_access', () => ({ verifyApiAccess: jest.fn(), })); -jest.mock('./lib/track_legacy_terminology', () => ({ +jest.mock('../../../lib/track_legacy_terminology', () => ({ trackLegacyTerminology: jest.fn(), })); @@ -134,7 +134,7 @@ describe('aggregateRulesRoute', () => { aggregateRulesRoute(router, licenseState); - const [config, handler] = router.get.mock.calls[0]; + const [config, handler] = router.post.mock.calls[0]; expect(config.path).toMatchInlineSnapshot(`"/internal/alerting/rules/_aggregate"`); @@ -143,7 +143,7 @@ describe('aggregateRulesRoute', () => { const [context, req, res] = mockHandlerArguments( { rulesClient }, { - query: { + body: { default_search_operator: 'AND', }, }, @@ -279,14 +279,14 @@ describe('aggregateRulesRoute', () => { aggregateRulesRoute(router, licenseState); - const [, handler] = router.get.mock.calls[0]; + const [, handler] = router.post.mock.calls[0]; rulesClient.aggregate.mockResolvedValueOnce(aggregateResult); const [context, req, res] = mockHandlerArguments( { rulesClient }, { - query: { + body: { default_search_operator: 'OR', }, } @@ -307,12 +307,12 @@ describe('aggregateRulesRoute', () => { aggregateRulesRoute(router, licenseState); - const [, handler] = router.get.mock.calls[0]; + const [, handler] = router.post.mock.calls[0]; const [context, req, res] = mockHandlerArguments( {}, { - query: {}, + body: {}, }, ['ok'] ); @@ -326,7 +326,7 @@ describe('aggregateRulesRoute', () => { const router = httpServiceMock.createRouter(); aggregateRulesRoute(router, licenseState, mockUsageCounter); - const [, handler] = router.get.mock.calls[0]; + const [, handler] = router.post.mock.calls[0]; rulesClient.aggregate.mockResolvedValueOnce(aggregateResult); @@ -334,7 +334,7 @@ describe('aggregateRulesRoute', () => { { rulesClient }, { params: {}, - query: { + body: { search_fields: ['alertTypeId:1', 'message:foo'], search: 'alertTypeId:2', }, diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.ts new file mode 100644 index 0000000000000..a8f7a20baa4cb --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.ts @@ -0,0 +1,63 @@ +/* + * 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 { IRouter } from '@kbn/core/server'; +import { UsageCounter } from '@kbn/usage-collection-plugin/server'; + +import { defaultRuleAggregationFactoryV1 } from '../../../../application/rule/methods/aggregate'; +import { ILicenseState } from '../../../../lib'; +import { verifyAccessAndContext } from '../../../lib'; +import { AlertingRequestHandlerContext, INTERNAL_BASE_ALERTING_API_PATH } from '../../../../types'; +import { trackLegacyTerminology } from '../../../lib/track_legacy_terminology'; +import { + aggregateRulesRequestBodySchemaV1, + AggregateRulesRequestBodyV1, + AggregateRulesResponseV1, +} from '../../../../../common/routes/rule/apis/aggregate'; +import { formatDefaultAggregationResult } from './transforms'; +import { transformAggregateQueryRequestV1, transformAggregateBodyResponseV1 } from './transforms'; +import { DefaultRuleAggregationResult } from './types'; + +export const aggregateRulesRoute = ( + router: IRouter<AlertingRequestHandlerContext>, + licenseState: ILicenseState, + usageCounter?: UsageCounter +) => { + router.post( + { + path: `${INTERNAL_BASE_ALERTING_API_PATH}/rules/_aggregate`, + validate: { + body: aggregateRulesRequestBodySchemaV1, + }, + }, + router.handleLegacyErrors( + verifyAccessAndContext(licenseState, async function (context, req, res) { + const rulesClient = (await context.alerting).getRulesClient(); + const body: AggregateRulesRequestBodyV1 = req.body; + const options = transformAggregateQueryRequestV1({ + ...body, + has_reference: body.has_reference || undefined, + }); + trackLegacyTerminology( + [body.search, body.search_fields].filter(Boolean) as string[], + usageCounter + ); + + const aggregateResult = await rulesClient.aggregate<DefaultRuleAggregationResult>({ + aggs: defaultRuleAggregationFactoryV1(), + options, + }); + + const responsePayload: AggregateRulesResponseV1 = { + body: transformAggregateBodyResponseV1(formatDefaultAggregationResult(aggregateResult)), + }; + + return res.ok(responsePayload); + }) + ) + ); +}; diff --git a/x-pack/plugins/alerting/common/default_rule_aggregation.test.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/format_default_aggregation_result/index.test.ts similarity index 77% rename from x-pack/plugins/alerting/common/default_rule_aggregation.test.ts rename to x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/format_default_aggregation_result/index.test.ts index e1c38587d2dd0..0ea0ea3c22a7d 100644 --- a/x-pack/plugins/alerting/common/default_rule_aggregation.test.ts +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/format_default_aggregation_result/index.test.ts @@ -5,26 +5,7 @@ * 2.0. */ -import { - getDefaultRuleAggregation, - formatDefaultAggregationResult, -} from './default_rule_aggregation'; - -describe('getDefaultRuleAggregation', () => { - it('should return aggregation with default maxTags', () => { - const result = getDefaultRuleAggregation(); - expect(result.tags).toEqual({ - terms: { field: 'alert.attributes.tags', order: { _key: 'asc' }, size: 50 }, - }); - }); - - it('should return aggregation with custom maxTags', () => { - const result = getDefaultRuleAggregation({ maxTags: 100 }); - expect(result.tags).toEqual({ - terms: { field: 'alert.attributes.tags', order: { _key: 'asc' }, size: 100 }, - }); - }); -}); +import { formatDefaultAggregationResult } from '.'; describe('formatDefaultAggregationResult', () => { it('should format aggregation result', () => { diff --git a/x-pack/plugins/alerting/common/default_rule_aggregation.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/format_default_aggregation_result/index.ts similarity index 57% rename from x-pack/plugins/alerting/common/default_rule_aggregation.ts rename to x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/format_default_aggregation_result/index.ts index 1b72657ce2dbe..d751875e104d7 100644 --- a/x-pack/plugins/alerting/common/default_rule_aggregation.ts +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/format_default_aggregation_result/index.ts @@ -4,93 +4,10 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import type { AggregationsAggregationContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { - RuleExecutionStatusValues, - RuleLastRunOutcomeValues, - RuleAggregationFormattedResult, -} from './rule'; -export interface DefaultRuleAggregationResult { - status: { - buckets: Array<{ - key: string; - doc_count: number; - }>; - }; - outcome: { - buckets: Array<{ - key: string; - doc_count: number; - }>; - }; - muted: { - buckets: Array<{ - key: number; - key_as_string: string; - doc_count: number; - }>; - }; - enabled: { - buckets: Array<{ - key: number; - key_as_string: string; - doc_count: number; - }>; - }; - snoozed: { - count: { - doc_count: number; - }; - }; - tags: { - buckets: Array<{ - key: string; - doc_count: number; - }>; - }; -} - -interface GetDefaultRuleAggregationParams { - maxTags?: number; -} - -export const getDefaultRuleAggregation = ( - params?: GetDefaultRuleAggregationParams -): Record<string, AggregationsAggregationContainer> => { - const { maxTags = 50 } = params || {}; - return { - status: { - terms: { field: 'alert.attributes.executionStatus.status' }, - }, - outcome: { - terms: { field: 'alert.attributes.lastRun.outcome' }, - }, - enabled: { - terms: { field: 'alert.attributes.enabled' }, - }, - muted: { - terms: { field: 'alert.attributes.muteAll' }, - }, - tags: { - terms: { field: 'alert.attributes.tags', order: { _key: 'asc' }, size: maxTags }, - }, - snoozed: { - nested: { - path: 'alert.attributes.snoozeSchedule', - }, - aggs: { - count: { - filter: { - exists: { - field: 'alert.attributes.snoozeSchedule.duration', - }, - }, - }, - }, - }, - }; -}; +import { RuleAggregationFormattedResult } from '../../../../../../application/rule/methods/aggregate/types'; +import { RuleExecutionStatusValues, RuleLastRunOutcomeValues } from '../../../../../../../common'; +import { DefaultRuleAggregationResult } from '../../types'; export const formatDefaultAggregationResult = ( aggregations: DefaultRuleAggregationResult @@ -166,7 +83,9 @@ export const formatDefaultAggregationResult = ( } const tagsBuckets = aggregations.tags?.buckets || []; - result.ruleTags = tagsBuckets.map((bucket) => bucket.key); + tagsBuckets.forEach((bucket) => { + result.ruleTags.push(bucket.key); + }); return result; }; diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/index.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/index.ts new file mode 100644 index 0000000000000..bd9e8015cf8f4 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/index.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { formatDefaultAggregationResult } from './format_default_aggregation_result'; +export { transformAggregateQueryRequest } from './transform_aggregate_query_request/latest'; +export { transformAggregateBodyResponse } from './transform_aggregate_body_response/latest'; + +export { transformAggregateQueryRequest as transformAggregateQueryRequestV1 } from './transform_aggregate_query_request/v1'; +export { transformAggregateBodyResponse as transformAggregateBodyResponseV1 } from './transform_aggregate_body_response/v1'; diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_body_response/latest.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_body_response/latest.ts new file mode 100644 index 0000000000000..1d31867d87b28 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_body_response/latest.ts @@ -0,0 +1,7 @@ +/* + * 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 { transformAggregateBodyResponse } from './v1'; diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_body_response/v1.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_body_response/v1.ts new file mode 100644 index 0000000000000..87bd99af3a665 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_body_response/v1.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. + */ + +import { RuleAggregationFormattedResult } from '../../../../../../application/rule/methods/aggregate/types'; +import { AggregateRulesResponseBodyV1 } from '../../../../../../../common/routes/rule/apis/aggregate'; + +export const transformAggregateBodyResponse = ({ + ruleExecutionStatus, + ruleEnabledStatus, + ruleLastRunOutcome, + ruleMutedStatus, + ruleSnoozedStatus, + ruleTags, +}: RuleAggregationFormattedResult): AggregateRulesResponseBodyV1 => ({ + rule_execution_status: ruleExecutionStatus, + rule_last_run_outcome: ruleLastRunOutcome, + rule_enabled_status: ruleEnabledStatus, + rule_muted_status: ruleMutedStatus, + rule_snoozed_status: ruleSnoozedStatus, + rule_tags: ruleTags, +}); diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/latest.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/latest.ts new file mode 100644 index 0000000000000..9ecc4c35b6049 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/latest.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 { transformAggregateQueryRequest } from './v1'; diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/v1.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/v1.ts new file mode 100644 index 0000000000000..7b5879227ce97 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/transforms/transform_aggregate_query_request/v1.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { RewriteRequestCase } from '@kbn/actions-plugin/common'; +import { AggregateOptions } from '../../../../../../application/rule/methods/aggregate/types'; + +export const transformAggregateQueryRequest: RewriteRequestCase<AggregateOptions> = ({ + search, + default_search_operator: defaultSearchOperator, + search_fields: searchFields, + has_reference: hasReference, + filter, +}) => ({ + defaultSearchOperator, + ...(hasReference ? { hasReference } : {}), + ...(searchFields ? { searchFields } : {}), + ...(search ? { search } : {}), + ...(filter ? { filter } : {}), +}); diff --git a/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/types/index.ts b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/types/index.ts new file mode 100644 index 0000000000000..a8eccab7f1e00 --- /dev/null +++ b/x-pack/plugins/alerting/server/routes/rule/apis/aggregate/types/index.ts @@ -0,0 +1,46 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export interface DefaultRuleAggregationResult { + status: { + buckets: Array<{ + key: string; + doc_count: number; + }>; + }; + outcome: { + buckets: Array<{ + key: string; + doc_count: number; + }>; + }; + muted: { + buckets: Array<{ + key: number; + key_as_string: string; + doc_count: number; + }>; + }; + enabled: { + buckets: Array<{ + key: number; + key_as_string: string; + doc_count: number; + }>; + }; + snoozed: { + count: { + doc_count: number; + }; + }; + tags: { + buckets: Array<{ + key: string; + doc_count: number; + }>; + }; +} diff --git a/x-pack/plugins/alerting/server/rules_client/methods/aggregate.ts b/x-pack/plugins/alerting/server/rules_client/methods/aggregate.ts deleted file mode 100644 index 6dd26c1a7e197..0000000000000 --- a/x-pack/plugins/alerting/server/rules_client/methods/aggregate.ts +++ /dev/null @@ -1,64 +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 { KueryNode, nodeBuilder } from '@kbn/es-query'; -import type { AggregationsAggregationContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { AlertingAuthorizationEntity } from '../../authorization'; -import { ruleAuditEvent, RuleAuditAction } from '../common/audit_events'; -import { buildKueryNodeFilter } from '../common'; -import { alertingAuthorizationFilterOpts } from '../common/constants'; -import { RulesClientContext } from '../types'; -import { RawRule, AggregateOptions } from '../../types'; -import { validateRuleAggregationFields } from '../lib/validate_rule_aggregation_fields'; - -export interface AggregateParams<AggregationResult> { - options?: AggregateOptions; - aggs: Record<keyof AggregationResult, AggregationsAggregationContainer>; -} - -export async function aggregate<T = Record<string, unknown>>( - context: RulesClientContext, - params: AggregateParams<T> -): Promise<T> { - const { options = {}, aggs } = params; - const { filter, page = 1, perPage = 0, ...restOptions } = options; - - let authorizationTuple; - try { - authorizationTuple = await context.authorization.getFindAuthorizationFilter( - AlertingAuthorizationEntity.Rule, - alertingAuthorizationFilterOpts - ); - validateRuleAggregationFields(aggs); - } catch (error) { - context.auditLogger?.log( - ruleAuditEvent({ - action: RuleAuditAction.AGGREGATE, - error, - }) - ); - throw error; - } - - const { filter: authorizationFilter } = authorizationTuple; - const filterKueryNode = buildKueryNodeFilter(filter); - - const result = await context.unsecuredSavedObjectsClient.find<RawRule, T>({ - ...restOptions, - filter: - authorizationFilter && filterKueryNode - ? nodeBuilder.and([filterKueryNode, authorizationFilter as KueryNode]) - : authorizationFilter, - page, - perPage, - type: 'alert', - aggs, - }); - - // params. - return result.aggregations!; -} diff --git a/x-pack/plugins/alerting/server/rules_client/rules_client.ts b/x-pack/plugins/alerting/server/rules_client/rules_client.ts index b27bb9b5a6747..f2274648d3981 100644 --- a/x-pack/plugins/alerting/server/rules_client/rules_client.ts +++ b/x-pack/plugins/alerting/server/rules_client/rules_client.ts @@ -33,7 +33,8 @@ import { GetRuleExecutionKPIParams, } from './methods/get_execution_kpi'; import { find, FindParams } from './methods/find'; -import { aggregate, AggregateParams } from './methods/aggregate'; +import { AggregateParams } from '../application/rule/methods/aggregate/types'; +import { aggregateRules } from '../application/rule/methods/aggregate'; import { deleteRule } from './methods/delete'; import { update, UpdateOptions } from './methods/update'; import { bulkDeleteRules } from './methods/bulk_delete'; @@ -108,7 +109,7 @@ export class RulesClient { } public aggregate = <T = Record<string, unknown>>(params: AggregateParams<T>): Promise<T> => - aggregate<T>(this.context, params); + aggregateRules<T>(this.context, params); public clone = <Params extends RuleTypeParams = never>(...args: CloneArguments) => clone<Params>(this.context, ...args); public create = <Params extends RuleTypeParams = never>(params: CreateRuleParams<Params>) => diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate.ts index 6e2465e58c2fd..a2f3e1eb80392 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate.ts @@ -5,7 +5,7 @@ * 2.0. */ import { AsApiContract } from '@kbn/actions-plugin/common'; -import { RuleAggregationFormattedResult } from '@kbn/alerting-plugin/common'; +import { AggregateRulesResponseBody } from '@kbn/alerting-plugin/common/routes/rule/apis/aggregate'; import { INTERNAL_BASE_ALERTING_API_PATH } from '../../constants'; import { mapFiltersToKql } from './map_filters_to_kql'; import { @@ -14,6 +14,7 @@ import { rewriteBodyRes, rewriteTagsBodyRes, GetRuleTagsResponse, + AggregateRulesResponse, } from './aggregate_helpers'; export async function loadRuleTags({ @@ -43,7 +44,7 @@ export async function loadRuleAggregations({ ruleExecutionStatusesFilter, ruleStatusesFilter, tagsFilter, -}: LoadRuleAggregationsProps): Promise<RuleAggregationFormattedResult> { +}: LoadRuleAggregationsProps): Promise<AggregateRulesResponse> { const filters = mapFiltersToKql({ typesFilter, actionTypesFilter, @@ -51,7 +52,7 @@ export async function loadRuleAggregations({ ruleStatusesFilter, tagsFilter, }); - const res = await http.post<AsApiContract<RuleAggregationFormattedResult>>( + const res = await http.post<AggregateRulesResponseBody>( `${INTERNAL_BASE_ALERTING_API_PATH}/rules/_aggregate`, { body: JSON.stringify({ diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_helpers.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_helpers.ts index 61fff1e95a451..d093649f73740 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_helpers.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_helpers.ts @@ -7,19 +7,34 @@ import { HttpSetup } from '@kbn/core/public'; import { RewriteRequestCase } from '@kbn/actions-plugin/common'; -import { RuleAggregationFormattedResult } from '@kbn/alerting-plugin/common'; +import { AggregateRulesResponseBody } from '@kbn/alerting-plugin/common/routes/rule/apis/aggregate'; import { RuleStatus } from '../../../types'; -export const rewriteBodyRes: RewriteRequestCase<RuleAggregationFormattedResult> = ({ +export interface AggregateRulesResponse { + ruleExecutionStatus: Record<string, number>; + ruleLastRunOutcome: Record<string, number>; + ruleEnabledStatus: { + enabled: number; + disabled: number; + }; + ruleMutedStatus: { + muted: number; + unmuted: number; + }; + ruleSnoozedStatus: { + snoozed: number; + }; + ruleTags: string[]; +} + +export const rewriteBodyRes = ({ rule_execution_status: ruleExecutionStatus, rule_last_run_outcome: ruleLastRunOutcome, rule_enabled_status: ruleEnabledStatus, rule_muted_status: ruleMutedStatus, rule_snoozed_status: ruleSnoozedStatus, rule_tags: ruleTags, - ...rest -}: any) => ({ - ...rest, +}: AggregateRulesResponseBody): AggregateRulesResponse => ({ ruleExecutionStatus, ruleEnabledStatus, ruleMutedStatus, diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_kuery_filter.ts b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_kuery_filter.ts index 20d1fc9281b48..23941ae36ccc5 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_kuery_filter.ts +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate_kuery_filter.ts @@ -4,10 +4,13 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { AsApiContract } from '@kbn/actions-plugin/common'; -import { RuleAggregationFormattedResult } from '@kbn/alerting-plugin/common'; +import { AggregateRulesResponseBody } from '@kbn/alerting-plugin/common/routes/rule/apis/aggregate'; import { INTERNAL_BASE_ALERTING_API_PATH } from '../../constants'; -import { LoadRuleAggregationsProps, rewriteBodyRes } from './aggregate_helpers'; +import { + AggregateRulesResponse, + LoadRuleAggregationsProps, + rewriteBodyRes, +} from './aggregate_helpers'; import { mapFiltersToKueryNode } from './map_filters_to_kuery_node'; export async function loadRuleAggregationsWithKueryFilter({ @@ -18,7 +21,7 @@ export async function loadRuleAggregationsWithKueryFilter({ ruleExecutionStatusesFilter, ruleStatusesFilter, tagsFilter, -}: LoadRuleAggregationsProps): Promise<RuleAggregationFormattedResult> { +}: LoadRuleAggregationsProps): Promise<AggregateRulesResponse> { const filtersKueryNode = mapFiltersToKueryNode({ typesFilter, actionTypesFilter, @@ -28,7 +31,7 @@ export async function loadRuleAggregationsWithKueryFilter({ searchText, }); - const res = await http.post<AsApiContract<RuleAggregationFormattedResult>>( + const res = await http.post<AggregateRulesResponseBody>( `${INTERNAL_BASE_ALERTING_API_PATH}/rules/_aggregate`, { body: JSON.stringify({ @@ -37,5 +40,6 @@ export async function loadRuleAggregationsWithKueryFilter({ }), } ); + return rewriteBodyRes(res); } diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/aggregate.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/aggregate.ts deleted file mode 100644 index 63fdfa8d498fa..0000000000000 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/aggregate.ts +++ /dev/null @@ -1,281 +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 { Spaces } from '../../../scenarios'; -import { getUrlPrefix, getTestRuleData, ObjectRemover, getEventLog } from '../../../../common/lib'; -import { FtrProviderContext } from '../../../../common/ftr_provider_context'; - -// eslint-disable-next-line import/no-default-export -export default function createAggregateTests({ getService }: FtrProviderContext) { - const supertest = getService('supertest'); - const retry = getService('retry'); - - const getEventLogWithRetry = async (id: string) => { - await retry.try(async () => { - return await getEventLog({ - getService, - spaceId: Spaces.space1.id, - type: 'alert', - id, - provider: 'alerting', - actions: new Map([['execute', { equal: 1 }]]), - }); - }); - }; - - describe('aggregate', () => { - const objectRemover = new ObjectRemover(supertest); - - afterEach(() => objectRemover.removeAll()); - - it('should aggregate when there are no alerts', async () => { - const response = await supertest.get( - `${getUrlPrefix(Spaces.space1.id)}/internal/alerting/rules/_aggregate` - ); - expect(response.status).to.eql(200); - expect(response.body).to.eql({ - rule_enabled_status: { - disabled: 0, - enabled: 0, - }, - rule_execution_status: { - ok: 0, - active: 0, - error: 0, - pending: 0, - unknown: 0, - warning: 0, - }, - rule_last_run_outcome: { - succeeded: 0, - warning: 0, - failed: 0, - }, - rule_muted_status: { - muted: 0, - unmuted: 0, - }, - rule_snoozed_status: { - snoozed: 0, - }, - rule_tags: [], - }); - }); - - it('should aggregate alert status totals', async () => { - const NumOkAlerts = 4; - const NumActiveAlerts = 1; - const NumErrorAlerts = 2; - - const okAlertIds: string[] = []; - const activeAlertIds: string[] = []; - const errorAlertIds: string[] = []; - - await Promise.all( - [...Array(NumOkAlerts)].map(async () => { - const okAlertId = await createTestAlert({ - rule_type_id: 'test.noop', - schedule: { interval: '24h' }, - }); - okAlertIds.push(okAlertId); - objectRemover.add(Spaces.space1.id, okAlertId, 'rule', 'alerting'); - }) - ); - - await Promise.all(okAlertIds.map((id) => getEventLogWithRetry(id))); - - await Promise.all( - [...Array(NumActiveAlerts)].map(async () => { - const activeAlertId = await createTestAlert({ - rule_type_id: 'test.patternFiring', - schedule: { interval: '24h' }, - params: { - pattern: { instance: new Array(100).fill(true) }, - }, - }); - activeAlertIds.push(activeAlertId); - objectRemover.add(Spaces.space1.id, activeAlertId, 'rule', 'alerting'); - }) - ); - - await Promise.all(activeAlertIds.map((id) => getEventLogWithRetry(id))); - - await Promise.all( - [...Array(NumErrorAlerts)].map(async () => { - const errorAlertId = await createTestAlert({ - rule_type_id: 'test.throw', - schedule: { interval: '24h' }, - }); - errorAlertIds.push(errorAlertId); - objectRemover.add(Spaces.space1.id, errorAlertId, 'rule', 'alerting'); - }) - ); - - await Promise.all(errorAlertIds.map((id) => getEventLogWithRetry(id))); - - await retry.try(async () => { - const response = await supertest.get( - `${getUrlPrefix(Spaces.space1.id)}/internal/alerting/rules/_aggregate` - ); - - expect(response.status).to.eql(200); - expect(response.body).to.eql({ - rule_enabled_status: { - disabled: 0, - enabled: 7, - }, - rule_execution_status: { - ok: NumOkAlerts, - active: NumActiveAlerts, - error: NumErrorAlerts, - pending: 0, - unknown: 0, - warning: 0, - }, - rule_last_run_outcome: { - succeeded: 5, - warning: 0, - failed: 2, - }, - rule_muted_status: { - muted: 0, - unmuted: 7, - }, - rule_snoozed_status: { - snoozed: 0, - }, - rule_tags: ['foo'], - }); - }); - }); - - describe('tags limit', () => { - it('should be 50 be default', async () => { - const numOfAlerts = 3; - const numOfTagsPerAlert = 30; - - await Promise.all( - [...Array(numOfAlerts)].map(async (_, alertIndex) => { - const okAlertId = await createTestAlert({ - rule_type_id: 'test.noop', - schedule: { interval: '24h' }, - tags: [...Array(numOfTagsPerAlert)].map( - (__, i) => `tag-${i + numOfTagsPerAlert * alertIndex}` - ), - }); - objectRemover.add(Spaces.space1.id, okAlertId, 'rule', 'alerting'); - }) - ); - - const response = await supertest.get( - `${getUrlPrefix(Spaces.space1.id)}/internal/alerting/rules/_aggregate` - ); - - expect(response.body.rule_tags.length).to.eql(50); - }); - }); - - describe('legacy', () => { - it('should aggregate alert status totals', async () => { - const NumOkAlerts = 4; - const NumActiveAlerts = 1; - const NumErrorAlerts = 2; - - const okAlertIds: string[] = []; - const activeAlertIds: string[] = []; - const errorAlertIds: string[] = []; - - await Promise.all( - [...Array(NumOkAlerts)].map(async () => { - const okAlertId = await createTestAlert({ - rule_type_id: 'test.noop', - schedule: { interval: '24h' }, - tags: ['a', 'b'], - }); - okAlertIds.push(okAlertId); - objectRemover.add(Spaces.space1.id, okAlertId, 'rule', 'alerting'); - }) - ); - await Promise.all(okAlertIds.map((id) => getEventLogWithRetry(id))); - - await Promise.all( - [...Array(NumActiveAlerts)].map(async () => { - const activeAlertId = await createTestAlert({ - rule_type_id: 'test.patternFiring', - schedule: { interval: '24h' }, - params: { - pattern: { instance: new Array(100).fill(true) }, - }, - tags: ['a', 'c', 'f'], - }); - activeAlertIds.push(activeAlertId); - objectRemover.add(Spaces.space1.id, activeAlertId, 'rule', 'alerting'); - }) - ); - await Promise.all(activeAlertIds.map((id) => getEventLogWithRetry(id))); - - await Promise.all( - [...Array(NumErrorAlerts)].map(async () => { - const errorAlertId = await createTestAlert({ - rule_type_id: 'test.throw', - schedule: { interval: '24h' }, - tags: ['b', 'c', 'd'], - }); - errorAlertIds.push(errorAlertId); - objectRemover.add(Spaces.space1.id, errorAlertId, 'rule', 'alerting'); - }) - ); - await Promise.all(errorAlertIds.map((id) => getEventLogWithRetry(id))); - - await retry.try(async () => { - const response = await supertest.get( - `${getUrlPrefix(Spaces.space1.id)}/api/alerts/_aggregate` - ); - - expect(response.status).to.eql(200); - expect(response.body).to.eql({ - alertExecutionStatus: { - ok: NumOkAlerts, - active: NumActiveAlerts, - error: NumErrorAlerts, - pending: 0, - unknown: 0, - warning: 0, - }, - ruleEnabledStatus: { - disabled: 0, - enabled: 7, - }, - ruleLastRunOutcome: { - succeeded: 5, - warning: 0, - failed: 2, - }, - ruleMutedStatus: { - muted: 0, - unmuted: 7, - }, - ruleSnoozedStatus: { - snoozed: 0, - }, - ruleTags: ['a', 'b', 'c', 'd', 'f'], - }); - }); - }); - }); - }); - - async function createTestAlert(testAlertOverrides = {}) { - const { body: createdAlert } = await supertest - .post(`${getUrlPrefix(Spaces.space1.id)}/api/alerting/rule`) - .set('kbn-xsrf', 'foo') - .send(getTestRuleData(testAlertOverrides)) - .expect(200); - return createdAlert.id; - } -} diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/index.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/index.ts index 6dacd17642a10..7a0c24878d07f 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/index.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group1/index.ts @@ -14,7 +14,6 @@ export default function alertingTests({ loadTestFile, getService }: FtrProviderC before(async () => await buildUp(getService)); after(async () => await tearDown(getService)); - loadTestFile(require.resolve('./aggregate')); loadTestFile(require.resolve('./aggregate_post')); loadTestFile(require.resolve('./create')); loadTestFile(require.resolve('./delete')); From fd604538ca451b470f81f389838592dc8cf1f3ec Mon Sep 17 00:00:00 2001 From: Julia Rechkunova <julia.rechkunova@elastic.co> Date: Mon, 18 Sep 2023 09:35:12 +0200 Subject: [PATCH 066/149] [Discover] Fix ESQL flaky test (#166249) - Closes https://github.com/elastic/kibana/issues/165860 100x https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3083 --- test/functional/apps/discover/group2/_esql_view.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/functional/apps/discover/group2/_esql_view.ts b/test/functional/apps/discover/group2/_esql_view.ts index d820841b16cd0..212420b56317d 100644 --- a/test/functional/apps/discover/group2/_esql_view.ts +++ b/test/functional/apps/discover/group2/_esql_view.ts @@ -91,6 +91,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await monacoEditor.setCodeEditorValue(testQuery); await testSubjects.click('querySubmitButton'); await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.discover.waitUntilSearchingHasFinished(); // here Lens suggests a XY so it is rendered expect(await testSubjects.exists('unifiedHistogramChart')).to.be(true); expect(await testSubjects.exists('xyVisChart')).to.be(true); @@ -104,6 +105,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await monacoEditor.setCodeEditorValue(testQuery); await testSubjects.click('querySubmitButton'); await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.discover.waitUntilSearchingHasFinished(); let cell = await dataGrid.getCellElement(0, 2); expect(await cell.getVisibleText()).to.be('1'); await PageObjects.timePicker.setAbsoluteRange( @@ -111,9 +113,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'Sep 19, 2015 @ 06:31:44.000' ); await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.discover.waitUntilSearchingHasFinished(); expect(await testSubjects.exists('discoverNoResults')).to.be(true); await PageObjects.timePicker.setDefaultAbsoluteRange(); await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.discover.waitUntilSearchingHasFinished(); cell = await dataGrid.getCellElement(0, 2); expect(await cell.getVisibleText()).to.be('1'); }); From 1f7a383b7becc94d8a13b8b2163635f3bf204d02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cau=C3=AA=20Marcondes?= <55978943+cauemarcondes@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:16:55 +0200 Subject: [PATCH 067/149] [Profiling] Add Universal Profiling to O11y overview and Setup guide (#165092) All pages link to `/profiling/add-data-instructions` - Observability overview page <img width="1786" alt="Screenshot 2023-08-29 at 13 45 59" src="https://github.com/elastic/kibana/assets/55978943/9639341b-7b33-4493-a4f7-5190922a26fc"> - ~~Observability onboarding page~~ <img width="888" alt="Screenshot 2023-08-29 at 14 00 14" src="https://github.com/elastic/kibana/assets/55978943/77912f5c-cfa4-4ab8-900a-0644cd8176a2"> - Kibana setup guides page <img width="1424" alt="Screenshot 2023-08-29 at 14 10 43" src="https://github.com/elastic/kibana/assets/55978943/5b8bf2d5-5583-47ca-93ab-efbb8d774336"> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../__snapshots__/guide_cards.test.tsx.snap | 27 ++++++++++ .../landing_page/guide_cards.constants.tsx | 14 ++++++ .../observability/public/context/constants.ts | 1 + .../has_data_context.test.tsx | 50 +++++++++++-------- .../has_data_context/has_data_context.tsx | 6 +++ .../sections/empty/empty_sections.tsx | 18 +++++++ .../typings/fetch_overview_data/index.ts | 8 +++ .../plugins/observability/typings/common.ts | 3 +- .../public/icons/universal_profiling.svg | 12 +++++ 9 files changed, 117 insertions(+), 22 deletions(-) create mode 100644 x-pack/plugins/observability_onboarding/public/icons/universal_profiling.svg diff --git a/packages/kbn-guided-onboarding/src/components/landing_page/__snapshots__/guide_cards.test.tsx.snap b/packages/kbn-guided-onboarding/src/components/landing_page/__snapshots__/guide_cards.test.tsx.snap index ab6e52ceabfef..45038434798f3 100644 --- a/packages/kbn-guided-onboarding/src/components/landing_page/__snapshots__/guide_cards.test.tsx.snap +++ b/packages/kbn-guided-onboarding/src/components/landing_page/__snapshots__/guide_cards.test.tsx.snap @@ -297,6 +297,33 @@ exports[`guide cards snapshots should render all cards 1`] = ` size="m" /> </EuiFlexItem> + <EuiFlexItem + grow={false} + key="5" + > + <GuideCard + activateGuide={[MockFunction]} + activeFilter="all" + card={ + Object { + "icon": "visBarHorizontal", + "navigateTo": Object { + "appId": "profiling", + "path": "/add-data-instructions", + }, + "order": 15, + "solution": "observability", + "telemetryId": "onboarding--observability--profiling", + "title": "Optimize my workloads with Universal Profiling", + } + } + guidesState={Array []} + navigateToApp={[MockFunction]} + /> + <EuiSpacer + size="m" + /> + </EuiFlexItem> </EuiFlexGroup> </EuiFlexItem> <EuiFlexItem diff --git a/packages/kbn-guided-onboarding/src/components/landing_page/guide_cards.constants.tsx b/packages/kbn-guided-onboarding/src/components/landing_page/guide_cards.constants.tsx index 0cb783b80bf0c..72c6aa72c79e4 100644 --- a/packages/kbn-guided-onboarding/src/components/landing_page/guide_cards.constants.tsx +++ b/packages/kbn-guided-onboarding/src/components/landing_page/guide_cards.constants.tsx @@ -170,6 +170,20 @@ export const guideCards: GuideCardConstants[] = [ telemetryId: 'onboarding--observability--synthetics', order: 14, }, + { + solution: 'observability', + icon: 'visBarHorizontal', + title: i18n.translate( + 'guidedOnboardingPackage.gettingStarted.cards.universalProfilingObservability.title', + { defaultMessage: 'Optimize my workloads with Universal Profiling' } + ), + navigateTo: { + appId: 'profiling', + path: '/add-data-instructions', + }, + telemetryId: 'onboarding--observability--profiling', + order: 15, + }, { solution: 'security', icon: 'securitySignal', diff --git a/x-pack/plugins/observability/public/context/constants.ts b/x-pack/plugins/observability/public/context/constants.ts index 962622b128ded..59e4822f42877 100644 --- a/x-pack/plugins/observability/public/context/constants.ts +++ b/x-pack/plugins/observability/public/context/constants.ts @@ -12,3 +12,4 @@ export const UPTIME_APP = 'uptime'; export const APM_APP = 'apm'; export const INFRA_LOGS_APP = 'infra_logs'; export const INFRA_METRICS_APP = 'infra_metrics'; +export const UNIVERSAL_PROFILING_APP = 'universal_profiling'; diff --git a/x-pack/plugins/observability/public/context/has_data_context/has_data_context.test.tsx b/x-pack/plugins/observability/public/context/has_data_context/has_data_context.test.tsx index 0f349f37cc068..3acc868a30c02 100644 --- a/x-pack/plugins/observability/public/context/has_data_context/has_data_context.test.tsx +++ b/x-pack/plugins/observability/public/context/has_data_context/has_data_context.test.tsx @@ -61,7 +61,7 @@ describe('HasDataContextProvider', () => { const { result, waitForNextUpdate } = renderHook(() => useHasData(), { wrapper }); expect(result.current).toMatchObject({ hasDataMap: {}, - hasAnyData: undefined, + hasAnyData: false, isAllRequestsComplete: false, forceUpdate: expect.any(String), onRefreshTimeRange: expect.any(Function), @@ -78,6 +78,7 @@ describe('HasDataContextProvider', () => { infra_metrics: { hasData: undefined, status: 'success' }, ux: { hasData: undefined, status: 'success' }, alert: { hasData: false, status: 'success' }, + universal_profiling: { hasData: false, status: 'success' }, }, hasAnyData: false, isAllRequestsComplete: true, @@ -114,8 +115,10 @@ describe('HasDataContextProvider', () => { const { result, waitForNextUpdate } = renderHook(() => useHasData(), { wrapper }); expect(result.current).toEqual({ - hasDataMap: {}, - hasAnyData: undefined, + hasDataMap: { + universal_profiling: { hasData: false, status: 'success' }, + }, + hasAnyData: false, isAllRequestsComplete: false, forceUpdate: expect.any(String), onRefreshTimeRange: expect.any(Function), @@ -139,6 +142,7 @@ describe('HasDataContextProvider', () => { status: 'success', }, alert: { hasData: false, status: 'success' }, + universal_profiling: { hasData: false, status: 'success' }, }, hasAnyData: false, isAllRequestsComplete: true, @@ -176,8 +180,8 @@ describe('HasDataContextProvider', () => { it('hasAnyData returns true apm returns true and all other apps return false', async () => { const { result, waitForNextUpdate } = renderHook(() => useHasData(), { wrapper }); expect(result.current).toEqual({ - hasDataMap: {}, - hasAnyData: undefined, + hasDataMap: { universal_profiling: { hasData: false, status: 'success' } }, + hasAnyData: false, isAllRequestsComplete: false, forceUpdate: expect.any(String), onRefreshTimeRange: expect.any(Function), @@ -203,6 +207,7 @@ describe('HasDataContextProvider', () => { status: 'success', }, alert: { hasData: false, status: 'success' }, + universal_profiling: { hasData: false, status: 'success' }, }, hasAnyData: true, isAllRequestsComplete: true, @@ -240,8 +245,8 @@ describe('HasDataContextProvider', () => { it('hasAnyData returns true and all apps return true', async () => { const { result, waitForNextUpdate } = renderHook(() => useHasData(), { wrapper }); expect(result.current).toEqual({ - hasDataMap: {}, - hasAnyData: undefined, + hasDataMap: { universal_profiling: { hasData: false, status: 'success' } }, + hasAnyData: false, isAllRequestsComplete: false, forceUpdate: expect.any(String), onRefreshTimeRange: expect.any(Function), @@ -271,6 +276,7 @@ describe('HasDataContextProvider', () => { status: 'success', }, alert: { hasData: false, status: 'success' }, + universal_profiling: { hasData: false, status: 'success' }, }, hasAnyData: true, isAllRequestsComplete: true, @@ -295,8 +301,8 @@ describe('HasDataContextProvider', () => { wrapper, }); expect(result.current).toEqual({ - hasDataMap: {}, - hasAnyData: undefined, + hasDataMap: { universal_profiling: { hasData: false, status: 'success' } }, + hasAnyData: false, isAllRequestsComplete: false, forceUpdate: expect.any(String), onRefreshTimeRange: expect.any(Function), @@ -314,6 +320,7 @@ describe('HasDataContextProvider', () => { infra_metrics: { hasData: undefined, status: 'success' }, ux: { hasData: undefined, status: 'success' }, alert: { hasData: false, status: 'success' }, + universal_profiling: { hasData: false, status: 'success' }, }, hasAnyData: true, isAllRequestsComplete: true, @@ -340,8 +347,8 @@ describe('HasDataContextProvider', () => { wrapper, }); expect(result.current).toEqual({ - hasDataMap: {}, - hasAnyData: undefined, + hasDataMap: { universal_profiling: { hasData: false, status: 'success' } }, + hasAnyData: false, isAllRequestsComplete: false, forceUpdate: expect.any(String), onRefreshTimeRange: expect.any(Function), @@ -363,6 +370,7 @@ describe('HasDataContextProvider', () => { infra_metrics: { hasData: undefined, status: 'success' }, ux: { hasData: undefined, status: 'success' }, alert: { hasData: false, status: 'success' }, + universal_profiling: { hasData: false, status: 'success' }, }, hasAnyData: false, isAllRequestsComplete: true, @@ -406,8 +414,8 @@ describe('HasDataContextProvider', () => { it('hasAnyData returns true, apm is undefined and all other apps return true', async () => { const { result, waitForNextUpdate } = renderHook(() => useHasData(), { wrapper }); expect(result.current).toEqual({ - hasDataMap: {}, - hasAnyData: undefined, + hasDataMap: { universal_profiling: { hasData: false, status: 'success' } }, + hasAnyData: false, isAllRequestsComplete: false, forceUpdate: expect.any(String), onRefreshTimeRange: expect.any(Function), @@ -434,6 +442,7 @@ describe('HasDataContextProvider', () => { status: 'success', }, alert: { hasData: false, status: 'success' }, + universal_profiling: { hasData: false, status: 'success' }, }, hasAnyData: true, isAllRequestsComplete: true, @@ -484,8 +493,8 @@ describe('HasDataContextProvider', () => { it('hasAnyData returns false and all apps return undefined', async () => { const { result, waitForNextUpdate } = renderHook(() => useHasData(), { wrapper }); expect(result.current).toEqual({ - hasDataMap: {}, - hasAnyData: undefined, + hasDataMap: { universal_profiling: { hasData: false, status: 'success' } }, + hasAnyData: false, isAllRequestsComplete: false, forceUpdate: expect.any(String), onRefreshTimeRange: expect.any(Function), @@ -503,6 +512,7 @@ describe('HasDataContextProvider', () => { infra_metrics: { hasData: undefined, status: 'failure' }, ux: { hasData: undefined, status: 'failure' }, alert: { hasData: false, status: 'success' }, + universal_profiling: { hasData: false, status: 'success' }, }, hasAnyData: false, isAllRequestsComplete: true, @@ -530,8 +540,8 @@ describe('HasDataContextProvider', () => { it('returns if alerts are available', async () => { const { result, waitForNextUpdate } = renderHook(() => useHasData(), { wrapper }); expect(result.current).toEqual({ - hasDataMap: {}, - hasAnyData: undefined, + hasDataMap: { universal_profiling: { hasData: false, status: 'success' } }, + hasAnyData: false, isAllRequestsComplete: false, forceUpdate: expect.any(String), onRefreshTimeRange: expect.any(Function), @@ -548,10 +558,8 @@ describe('HasDataContextProvider', () => { infra_logs: { hasData: undefined, status: 'success' }, infra_metrics: { hasData: undefined, status: 'success' }, ux: { hasData: undefined, status: 'success' }, - alert: { - hasData: true, - status: 'success', - }, + alert: { hasData: true, status: 'success' }, + universal_profiling: { hasData: false, status: 'success' }, }, hasAnyData: true, isAllRequestsComplete: true, diff --git a/x-pack/plugins/observability/public/context/has_data_context/has_data_context.tsx b/x-pack/plugins/observability/public/context/has_data_context/has_data_context.tsx index d6e70b74f446a..40c54e7d0b2ec 100644 --- a/x-pack/plugins/observability/public/context/has_data_context/has_data_context.tsx +++ b/x-pack/plugins/observability/public/context/has_data_context/has_data_context.tsx @@ -16,6 +16,7 @@ import { APM_APP, INFRA_LOGS_APP, INFRA_METRICS_APP, + UNIVERSAL_PROFILING_APP, UPTIME_APP, UX_APP, } from '../constants'; @@ -54,6 +55,7 @@ const apps: DataContextApps[] = [ INFRA_METRICS_APP, UX_APP, ALERT_APP, + UNIVERSAL_PROFILING_APP, ]; export function HasDataContextProvider({ children }: { children: React.ReactNode }) { @@ -123,6 +125,10 @@ export function HasDataContextProvider({ children }: { children: React.ReactNode indices: resultInfraMetrics?.indices, }); break; + case UNIVERSAL_PROFILING_APP: + // Profiling only shows the empty section for now + updateState({ hasData: false }); + break; } } catch (e) { setHasDataMap((prevState) => ({ diff --git a/x-pack/plugins/observability/public/pages/overview/components/sections/empty/empty_sections.tsx b/x-pack/plugins/observability/public/pages/overview/components/sections/empty/empty_sections.tsx index 9dc940008a96e..886f9ae4d42ed 100644 --- a/x-pack/plugins/observability/public/pages/overview/components/sections/empty/empty_sections.tsx +++ b/x-pack/plugins/observability/public/pages/overview/components/sections/empty/empty_sections.tsx @@ -147,5 +147,23 @@ const getEmptySections = ({ http }: { http: HttpSetup }): Section[] => { }), href: http.basePath.prepend(paths.observability.rules), }, + { + id: 'universal_profiling', + title: i18n.translate('xpack.observability.emptySection.apps.universalProfiling.title', { + defaultMessage: 'Universal Profiling', + }), + icon: 'logoObservability', + description: i18n.translate( + 'xpack.observability.emptySection.apps.universalProfiling.description', + { + defaultMessage: + 'Understand what lines of code are consuming compute resources across your entire infrastructure, with minimal overhead and zero instrumentation', + } + ), + linkTitle: i18n.translate('xpack.observability.emptySection.apps.universalProfiling.link', { + defaultMessage: 'Install Profiling Host Agent', + }), + href: http.basePath.prepend('/app/profiling/add-data-instructions'), + }, ]; }; diff --git a/x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts b/x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts index 14305e4f7ab91..120de8934fcff 100644 --- a/x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts +++ b/x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts @@ -66,6 +66,10 @@ export interface InfraLogsHasDataResponse { indices: string; } +interface UniversalProfilingHasDataResponse { + hasData: boolean; +} + export type FetchData<T extends FetchDataResponse = FetchDataResponse> = ( fetchDataParams: FetchDataParams ) => Promise<T>; @@ -150,12 +154,15 @@ export interface UxFetchDataResponse extends FetchDataResponse { coreWebVitals: UXMetrics; } +export type UniversalProfilingDataResponse = FetchDataResponse; + export interface ObservabilityFetchDataResponse { apm: ApmFetchDataResponse; infra_metrics: MetricsFetchDataResponse; infra_logs: LogsFetchDataResponse; uptime: UptimeFetchDataResponse; ux: UxFetchDataResponse; + universal_profiling: UniversalProfilingDataResponse; } export interface ObservabilityHasDataResponse { @@ -164,4 +171,5 @@ export interface ObservabilityHasDataResponse { infra_logs: InfraLogsHasDataResponse; uptime: SyntheticsHasDataResponse; ux: UXHasDataResponse; + universal_profiling: UniversalProfilingHasDataResponse; } diff --git a/x-pack/plugins/observability/typings/common.ts b/x-pack/plugins/observability/typings/common.ts index df51061b56a5c..06e78c4ec6e64 100644 --- a/x-pack/plugins/observability/typings/common.ts +++ b/x-pack/plugins/observability/typings/common.ts @@ -17,7 +17,8 @@ export type ObservabilityApp = | 'observability-overview' | 'stack_monitoring' | 'ux' - | 'fleet'; + | 'fleet' + | 'universal_profiling'; export type { Coordinates } from '../public/typings/fetch_overview_data'; diff --git a/x-pack/plugins/observability_onboarding/public/icons/universal_profiling.svg b/x-pack/plugins/observability_onboarding/public/icons/universal_profiling.svg new file mode 100644 index 0000000000000..819ab070e7396 --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/universal_profiling.svg @@ -0,0 +1,12 @@ +<svg width="48" height="46" viewBox="0 0 48 46" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g clip-path="url(#clip0_305_179324)"> +<path d="M46 0H2C0.89543 0 0 0.89543 0 2V18C0 19.1046 0.89543 20 2 20H46C47.1046 20 48 19.1046 48 18V2C48 0.89543 47.1046 0 46 0Z" fill="#F04E98"/> +<path d="M20 24H2C0.89543 24 0 24.8954 0 26V44C0 45.1046 0.89543 46 2 46H20C21.1046 46 22 45.1046 22 44V26C22 24.8954 21.1046 24 20 24Z" fill="#FEC514"/> +<path d="M45 25H29C27.8954 25 27 25.8954 27 27V43C27 44.1046 27.8954 45 29 45H45C46.1046 45 47 44.1046 47 43V27C47 25.8954 46.1046 25 45 25Z" stroke="#0077CC"/> +</g> +<defs> +<clipPath id="clip0_305_179324"> +<rect width="48" height="46" fill="white"/> +</clipPath> +</defs> +</svg> \ No newline at end of file From 8dd82c0d65b83fcd3271ed6eb2a01856e0aac357 Mon Sep 17 00:00:00 2001 From: Vadim Kibana <82822460+vadimkibana@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:59:56 +0200 Subject: [PATCH 068/149] Tags picker: change primary button text (#166232) ## Summary Closes https://github.com/elastic/kibana/issues/145822 --- .../table_list_view_table/src/components/tag_filter_panel.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/content-management/table_list_view_table/src/components/tag_filter_panel.tsx b/packages/content-management/table_list_view_table/src/components/tag_filter_panel.tsx index 8b7c947fb0c85..844679ebcd971 100644 --- a/packages/content-management/table_list_view_table/src/components/tag_filter_panel.tsx +++ b/packages/content-management/table_list_view_table/src/components/tag_filter_panel.tsx @@ -176,8 +176,8 @@ export const TagFilterPanel: FC<Props> = ({ <EuiFlexItem css={saveBtnWrapperCSS}> <EuiButton onClick={closePopover}> - {i18n.translate('contentManagement.tableList.tagFilterPanel.applyButtonLabel', { - defaultMessage: 'Apply', + {i18n.translate('contentManagement.tableList.tagFilterPanel.doneButtonLabel', { + defaultMessage: 'Done', })} </EuiButton> </EuiFlexItem> From dcd3a473e4cdd0f3cc47dea0e6eac9b4f68220aa Mon Sep 17 00:00:00 2001 From: Andrew Gizas <andreas.gkizas@elastic.co> Date: Mon, 18 Sep 2023 12:22:18 +0300 Subject: [PATCH 069/149] Set env variable ELASTIC_NETINFO:false in Kibana (#166156) ## Summary This PR add the environmental veriable ELASTIC_NETINFO in the managed and standalone manifests of Elasitc agent. The variable has been introduced here https://github.com/elastic/elastic-agent/pull/3354 The reason for the introduction of the new variable ELASTIC_NETINFO:false by default in the manifests, is related with the work done https://github.com/elastic/integrations/issues/6674 --- .../fleet/server/services/elastic_agent_manifest.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts b/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts index f01f6d71df89d..578625d1a38ab 100644 --- a/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts +++ b/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts @@ -68,6 +68,10 @@ spec: fieldPath: metadata.name - name: STATE_PATH value: "/etc/elastic-agent" + # The following ELASTIC_NETINFO:false variable will disable the netinfo.enabled option of add-host-metadata processor. This will remove fields host.ip and host.mac. + # For more info: https://www.elastic.co/guide/en/beats/metricbeat/current/add-host-metadata.html + - name: ELASTIC_NETINFO + value: "false" securityContext: runAsUser: 0 # The following capabilities are needed for 'Defend for containers' integration (cloud-defend) @@ -389,6 +393,10 @@ spec: valueFrom: fieldRef: fieldPath: metadata.name + # The following ELASTIC_NETINFO:false variable will disable the netinfo.enabled option of add-host-metadata processor. This will remove fields host.ip and host.mac. + # For more info: https://www.elastic.co/guide/en/beats/metricbeat/current/add-host-metadata.html + - name: ELASTIC_NETINFO + value: "false" securityContext: runAsUser: 0 # The following capabilities are needed for 'Defend for containers' integration (cloud-defend) From 1b23ebe578aa05ebee6c19b2bd9a5b108dc07925 Mon Sep 17 00:00:00 2001 From: Marco Liberati <dej611@users.noreply.github.com> Date: Mon, 18 Sep 2023 11:25:54 +0200 Subject: [PATCH 070/149] [Graph] Replace last KUI buttons with EUI ones (#166588) ## Summary Fixes #166583 <img width="282" alt="Screenshot 2023-09-18 at 10 11 54" src="https://github.com/elastic/kibana/assets/924948/14c1befa-cc76-4228-bd4c-eff62337448e"> --- .../control_panel/selection_tool_bar.tsx | 45 ++++++++++--------- 1 file changed, 23 insertions(+), 22 deletions(-) diff --git a/x-pack/plugins/graph/public/components/control_panel/selection_tool_bar.tsx b/x-pack/plugins/graph/public/components/control_panel/selection_tool_bar.tsx index e2e9771a8e9ef..b69aedfa12699 100644 --- a/x-pack/plugins/graph/public/components/control_panel/selection_tool_bar.tsx +++ b/x-pack/plugins/graph/public/components/control_panel/selection_tool_bar.tsx @@ -7,7 +7,7 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; -import { EuiFlexGroup, EuiFlexItem, EuiToolTip } from '@elastic/eui'; +import { EuiButtonEmpty, EuiFlexGroup, EuiFlexItem, EuiToolTip } from '@elastic/eui'; import { ControlType, Workspace } from '../../types'; interface SelectionToolBarProps { @@ -74,61 +74,62 @@ export const SelectionToolBar = ({ workspace, onSetControl }: SelectionToolBarPr > <EuiFlexItem grow={false}> <EuiToolTip content={selectAllButtonMsg}> - <button + <EuiButtonEmpty data-test-subj="graphSelectAll" - type="button" - className="kuiButton kuiButton--basic kuiButton--small" - disabled={haveNodes} + size="s" + isDisabled={haveNodes} + color="text" onClick={onSelectAllClick} > {i18n.translate('xpack.graph.sidebar.selections.selectAllButtonLabel', { defaultMessage: 'all', })} - </button> + </EuiButtonEmpty> </EuiToolTip> </EuiFlexItem> <EuiFlexItem grow={false}> <EuiToolTip content={selectNoneButtonMsg}> - <button - type="button" - className="kuiButton kuiButton--basic kuiButton--small" - disabled={haveNodes} + <EuiButtonEmpty + data-test-subj="graphSelectNone" + size="s" + isDisabled={haveNodes} + color="text" onClick={onSelectNoneClick} > {i18n.translate('xpack.graph.sidebar.selections.selectNoneButtonLabel', { defaultMessage: 'none', })} - </button> + </EuiButtonEmpty> </EuiToolTip> </EuiFlexItem> <EuiFlexItem grow={false}> <EuiToolTip content={invertSelectionButtonMsg}> - <button + <EuiButtonEmpty data-test-subj="graphInvertSelection" - type="button" - className="kuiButton kuiButton--basic kuiButton--small" - disabled={haveNodes} + size="s" + isDisabled={haveNodes} + color="text" onClick={onInvertSelectionClick} > {i18n.translate('xpack.graph.sidebar.selections.invertSelectionButtonLabel', { defaultMessage: 'invert', })} - </button> + </EuiButtonEmpty> </EuiToolTip> </EuiFlexItem> <EuiFlexItem grow={false}> <EuiToolTip content={selectNeighboursButtonMsg}> - <button - type="button" - className="kuiButton kuiButton--basic kuiButton--small" - disabled={workspace.selectedNodes.length === 0} - onClick={onSelectNeighboursClick} + <EuiButtonEmpty data-test-subj="graphLinkedSelection" + size="s" + isDisabled={workspace.selectedNodes.length === 0} + color="text" + onClick={onSelectNeighboursClick} > {i18n.translate('xpack.graph.sidebar.selections.selectNeighboursButtonLabel', { defaultMessage: 'linked', })} - </button> + </EuiButtonEmpty> </EuiToolTip> </EuiFlexItem> </EuiFlexGroup> From 5e7984650bfd3a784ec26e86a7bed6e03383340c Mon Sep 17 00:00:00 2001 From: Marco Liberati <dej611@users.noreply.github.com> Date: Mon, 18 Sep 2023 12:27:13 +0200 Subject: [PATCH 071/149] [Bundling] Add redux (and inner deps) to shared bundle (#166367) ## Summary Add the `@redux/toolkit` and some related deps to the shared bundle. Full list of added libraries: * `@reduxjs/toolkit` * `redux` * `react-redux` * `immer` * `reselect` ### Checklist Delete any items that are not applicable to this PR. - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### Risk Matrix Delete this section if it is not applicable to this PR. Before closing this PR, invite QA, stakeholders, and other developers to identify risks that should be tested prior to the change/feature release. When forming the risk matrix, consider some of the following examples and how they may potentially impact the change: | Risk | Probability | Severity | Mitigation/Notes | |---------------------------|-------------|----------|-------------------------| | Multiple Spaces—unexpected behavior in non-default Kibana Space. | Low | High | Integration tests will verify that all features are still supported in non-default Kibana Space and when user switches between spaces. | | Multiple nodes—Elasticsearch polling might have race conditions when multiple Kibana nodes are polling for the same tasks. | High | Low | Tasks are idempotent, so executing them multiple times will not result in logical error, but will degrade performance. To test for this case we add plenty of unit tests around this logic and document manual testing procedure. | | Code should gracefully handle cases when feature X or plugin Y are disabled. | Medium | High | Unit tests will verify that any feature flag or plugin combination still results in our service operational. | | [See more potential risk examples](https://github.com/elastic/kibana/blob/main/RISK_MATRIX.mdx) | ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- packages/kbn-ui-shared-deps-npm/BUILD.bazel | 5 +++++ packages/kbn-ui-shared-deps-npm/webpack.config.js | 5 +++++ packages/kbn-ui-shared-deps-src/src/definitions.js | 5 +++++ packages/kbn-ui-shared-deps-src/src/entry.js | 5 +++++ .../edit_on_the_fly/get_edit_lens_configuration.tsx | 2 +- .../lens/public/state_management/fullscreen_middleware.ts | 2 +- x-pack/plugins/lens/public/state_management/index.ts | 8 ++++---- 7 files changed, 26 insertions(+), 6 deletions(-) diff --git a/packages/kbn-ui-shared-deps-npm/BUILD.bazel b/packages/kbn-ui-shared-deps-npm/BUILD.bazel index 61569ac39c41d..f2ff64942a993 100644 --- a/packages/kbn-ui-shared-deps-npm/BUILD.bazel +++ b/packages/kbn-ui-shared-deps-npm/BUILD.bazel @@ -62,6 +62,11 @@ RUNTIME_DEPS = [ "@npm//tslib", "@npm//uuid", "@npm//io-ts", + "@npm//@reduxjs/toolkit", + "@npm//redux", + "@npm//react-redux", + "@npm//immer", + "@npm//reselect" ] webpack_cli( diff --git a/packages/kbn-ui-shared-deps-npm/webpack.config.js b/packages/kbn-ui-shared-deps-npm/webpack.config.js index 21eb15d016f7b..a7beaf4462dc8 100644 --- a/packages/kbn-ui-shared-deps-npm/webpack.config.js +++ b/packages/kbn-ui-shared-deps-npm/webpack.config.js @@ -84,6 +84,10 @@ module.exports = (_, argv) => { '@emotion/cache', '@emotion/react', '@hello-pangea/dnd/dist/dnd.js', + '@reduxjs/toolkit', + 'redux', + 'react-redux', + 'immer', '@tanstack/react-query', '@tanstack/react-query-devtools', 'classnames', @@ -103,6 +107,7 @@ module.exports = (_, argv) => { 'react-router-dom-v5-compat', 'react-router', 'react', + 'reselect', 'rxjs', 'rxjs/operators', 'styled-components', diff --git a/packages/kbn-ui-shared-deps-src/src/definitions.js b/packages/kbn-ui-shared-deps-src/src/definitions.js index 08e5355a3f444..ae9dcd3b056f1 100644 --- a/packages/kbn-ui-shared-deps-src/src/definitions.js +++ b/packages/kbn-ui-shared-deps-src/src/definitions.js @@ -56,6 +56,11 @@ const externals = { // this is how plugins/consumers from npm load monaco 'monaco-editor/esm/vs/editor/editor.api': '__kbnSharedDeps__.MonacoBarePluginApi', 'io-ts': '__kbnSharedDeps__.IoTs', + '@reduxjs/toolkit': '__kbnSharedDeps__.ReduxjsToolkit', + 'react-redux': '__kbnSharedDeps__.ReactRedux', + redux: '__kbnSharedDeps__.Redux', + immer: '__kbnSharedDeps__.Immer', + reselect: '__kbnSharedDeps__.Reselect', /** * big deps which are locked to a single version diff --git a/packages/kbn-ui-shared-deps-src/src/entry.js b/packages/kbn-ui-shared-deps-src/src/entry.js index ac203abadb39a..2491a34193e2e 100644 --- a/packages/kbn-ui-shared-deps-src/src/entry.js +++ b/packages/kbn-ui-shared-deps-src/src/entry.js @@ -47,6 +47,11 @@ export const ElasticEuiLibServicesFormat = require('@elastic/eui/optimize/es/ser export const ElasticEuiChartsTheme = require('@elastic/eui/dist/eui_charts_theme'); export const KbnDatemath = require('@kbn/datemath'); export const HelloPangeaDnd = require('@hello-pangea/dnd/dist/dnd'); +export const ReduxjsToolkit = require('@reduxjs/toolkit'); +export const ReactRedux = require('react-redux'); +export const Redux = require('redux'); +export const Immer = require('immer'); +export const Reselect = require('reselect'); export const Lodash = require('lodash'); export const LodashFp = require('lodash/fp'); diff --git a/x-pack/plugins/lens/public/app_plugin/shared/edit_on_the_fly/get_edit_lens_configuration.tsx b/x-pack/plugins/lens/public/app_plugin/shared/edit_on_the_fly/get_edit_lens_configuration.tsx index b0e3ec119c532..18213c0bec4c0 100644 --- a/x-pack/plugins/lens/public/app_plugin/shared/edit_on_the_fly/get_edit_lens_configuration.tsx +++ b/x-pack/plugins/lens/public/app_plugin/shared/edit_on_the_fly/get_edit_lens_configuration.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { EuiFlyout, EuiLoadingSpinner, EuiOverlayMask } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { Provider } from 'react-redux'; -import { MiddlewareAPI, Dispatch, Action } from '@reduxjs/toolkit'; +import type { MiddlewareAPI, Dispatch, Action } from '@reduxjs/toolkit'; import { css } from '@emotion/react'; import type { CoreStart } from '@kbn/core/public'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; diff --git a/x-pack/plugins/lens/public/state_management/fullscreen_middleware.ts b/x-pack/plugins/lens/public/state_management/fullscreen_middleware.ts index 5bbcdbf5b15d9..e800d4fed2d1b 100644 --- a/x-pack/plugins/lens/public/state_management/fullscreen_middleware.ts +++ b/x-pack/plugins/lens/public/state_management/fullscreen_middleware.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { Dispatch, MiddlewareAPI, Action } from '@reduxjs/toolkit'; +import type { Dispatch, MiddlewareAPI, Action } from '@reduxjs/toolkit'; import { LensGetState, LensStoreDeps } from '.'; import { setToggleFullscreen } from './lens_slice'; diff --git a/x-pack/plugins/lens/public/state_management/index.ts b/x-pack/plugins/lens/public/state_management/index.ts index b426183eebaf2..f2770f2fd2caf 100644 --- a/x-pack/plugins/lens/public/state_management/index.ts +++ b/x-pack/plugins/lens/public/state_management/index.ts @@ -8,10 +8,10 @@ import { configureStore, getDefaultMiddleware, - PreloadedState, - Action, - Dispatch, - MiddlewareAPI, + type PreloadedState, + type Action, + type Dispatch, + type MiddlewareAPI, } from '@reduxjs/toolkit'; import { createLogger } from 'redux-logger'; import { useDispatch, useSelector, TypedUseSelectorHook } from 'react-redux'; From b2057ac148a0f87bff07e5ad6f56e95a46ce1269 Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Mon, 18 Sep 2023 12:44:06 +0200 Subject: [PATCH 072/149] [Fleet] added agents per output telemetry (#166432) ## Summary Resolves https://github.com/elastic/ingest-dev/issues/1729 Added new telemetry about which output types agents use. Since agents can have different data and monitoring outputs, added 2 different counts. If an agent uses the same output as data and monitoring, it shows up in both counts. ``` [ { output_type: 'elasticsearch', count_as_data: 3, count_as_monitoring: 3 }, { output_type: 'logstash', count_as_data: 1, count_as_monitoring: 0 }, { output_type: 'kafka', count_as_data: 0, count_as_monitoring: 1 }, ] ``` To verify: start kibana locally and wait for the FleetUsageSender task to fire (every hour), it should show up in the debug logs. To speed it up, change the interval locally to a few minutes [here](https://github.com/elastic/kibana/pull/166432/files#diff-fca0b4eb6c08f4b21ad3c69bd1b9376d4665083a49095f1b621f6d86cd091674). ``` [2023-09-14T11:37:49.358+02:00][DEBUG][plugins.fleet] Agents per output type telemetry: [{"output_type":"elasticsearch","count_as_data":32,"count_as_monitoring":32}] ``` Telemetry mappings merged to staging [here](https://github.com/elastic/telemetry/pull/2602/), should update prod version when verified. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../collectors/agents_per_output.test.ts | 51 ++++++++++++ .../server/collectors/agents_per_output.ts | 70 +++++++++++++++++ .../fleet/server/collectors/register.ts | 4 + .../fleet_usage_telemetry.test.ts | 78 +++++++++++++------ .../services/telemetry/fleet_usage_sender.ts | 17 +++- .../services/telemetry/fleet_usages_schema.ts | 30 +++++++ 6 files changed, 224 insertions(+), 26 deletions(-) create mode 100644 x-pack/plugins/fleet/server/collectors/agents_per_output.test.ts create mode 100644 x-pack/plugins/fleet/server/collectors/agents_per_output.ts diff --git a/x-pack/plugins/fleet/server/collectors/agents_per_output.test.ts b/x-pack/plugins/fleet/server/collectors/agents_per_output.test.ts new file mode 100644 index 0000000000000..3e91282891f2f --- /dev/null +++ b/x-pack/plugins/fleet/server/collectors/agents_per_output.test.ts @@ -0,0 +1,51 @@ +/* + * 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 { ElasticsearchClient, SavedObjectsClientContract } from '@kbn/core/server'; + +import { getAgentsPerOutput } from './agents_per_output'; + +jest.mock('../services', () => { + return { + agentPolicyService: { + list: jest.fn().mockResolvedValue({ + items: [ + { agents: 0, data_output_id: 'logstash1', monitoring_output_id: 'kafka1' }, + { agents: 1 }, + { agents: 1, data_output_id: 'logstash1' }, + { agents: 1, monitoring_output_id: 'kafka1' }, + { agents: 1, data_output_id: 'elasticsearch2', monitoring_output_id: 'elasticsearch2' }, + ], + }), + }, + }; +}); + +describe('agents_per_output', () => { + const soClientMock = { + find: jest.fn().mockResolvedValue({ + saved_objects: [ + { + id: 'default-output', + attributes: { is_default: true, is_default_monitoring: true, type: 'elasticsearch' }, + }, + { id: 'logstash1', attributes: { type: 'logstash' } }, + { id: 'kafka1', attributes: { type: 'kafka' } }, + { id: 'elasticsearch2', attributes: { type: 'elasticsearch' } }, + ], + }), + } as unknown as SavedObjectsClientContract; + + it('should return agent count by output type', async () => { + const res = await getAgentsPerOutput(soClientMock, {} as unknown as ElasticsearchClient); + expect(res).toEqual([ + { output_type: 'elasticsearch', count_as_data: 3, count_as_monitoring: 3 }, + { output_type: 'logstash', count_as_data: 1, count_as_monitoring: 0 }, + { output_type: 'kafka', count_as_data: 0, count_as_monitoring: 1 }, + ]); + }); +}); diff --git a/x-pack/plugins/fleet/server/collectors/agents_per_output.ts b/x-pack/plugins/fleet/server/collectors/agents_per_output.ts new file mode 100644 index 0000000000000..54733dace2057 --- /dev/null +++ b/x-pack/plugins/fleet/server/collectors/agents_per_output.ts @@ -0,0 +1,70 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { ElasticsearchClient, SavedObjectsClientContract } from '@kbn/core/server'; +import _ from 'lodash'; + +import { OUTPUT_SAVED_OBJECT_TYPE, SO_SEARCH_LIMIT } from '../../common'; +import type { OutputSOAttributes } from '../types'; +import { agentPolicyService } from '../services'; + +export interface AgentsPerOutputType { + output_type: string; + count_as_data: number; + count_as_monitoring: number; +} + +export async function getAgentsPerOutput( + soClient: SavedObjectsClientContract, + esClient: ElasticsearchClient +): Promise<AgentsPerOutputType[]> { + const { saved_objects: outputs } = await soClient.find<OutputSOAttributes>({ + type: OUTPUT_SAVED_OBJECT_TYPE, + page: 1, + perPage: SO_SEARCH_LIMIT, + }); + + const defaultOutputId = outputs.find((output) => output.attributes.is_default)?.id || ''; + const defaultMonitoringOutputId = + outputs.find((output) => output.attributes.is_default_monitoring)?.id || ''; + + const outputsById = _.keyBy(outputs, 'id'); + const getOutputTypeById = (outputId: string): string => outputsById[outputId]?.attributes.type; + + const { items } = await agentPolicyService.list(soClient, { + esClient, + withAgentCount: true, + page: 1, + perPage: SO_SEARCH_LIMIT, + }); + const outputTypes: { [key: string]: AgentsPerOutputType } = {}; + items + .filter((item) => (item.agents ?? 0) > 0) + .forEach((item) => { + const dataOutputType = getOutputTypeById(item.data_output_id || defaultOutputId); + if (!outputTypes[dataOutputType]) { + outputTypes[dataOutputType] = { + output_type: dataOutputType, + count_as_data: 0, + count_as_monitoring: 0, + }; + } + outputTypes[dataOutputType].count_as_data += item.agents ?? 0; + const monitoringOutputType = getOutputTypeById( + item.monitoring_output_id || defaultMonitoringOutputId + ); + if (!outputTypes[monitoringOutputType]) { + outputTypes[monitoringOutputType] = { + output_type: monitoringOutputType, + count_as_data: 0, + count_as_monitoring: 0, + }; + } + outputTypes[monitoringOutputType].count_as_monitoring += item.agents ?? 0; + }); + return Object.values(outputTypes); +} diff --git a/x-pack/plugins/fleet/server/collectors/register.ts b/x-pack/plugins/fleet/server/collectors/register.ts index d31548d330897..01d0a65f2cf08 100644 --- a/x-pack/plugins/fleet/server/collectors/register.ts +++ b/x-pack/plugins/fleet/server/collectors/register.ts @@ -22,6 +22,8 @@ import { getAgentPoliciesUsage } from './agent_policies'; import type { AgentPanicLogsData } from './agent_logs_panics'; import { getPanicLogsLastHour } from './agent_logs_panics'; import { getAgentLogsTopErrors } from './agent_logs_top_errors'; +import type { AgentsPerOutputType } from './agents_per_output'; +import { getAgentsPerOutput } from './agents_per_output'; export interface Usage { agents_enabled: boolean; @@ -36,6 +38,7 @@ export interface FleetUsage extends Usage, AgentData { agent_logs_panics_last_hour: AgentPanicLogsData['agent_logs_panics_last_hour']; agent_logs_top_errors?: string[]; fleet_server_logs_top_errors?: string[]; + agents_per_output_type: AgentsPerOutputType[]; } export const fetchFleetUsage = async ( @@ -57,6 +60,7 @@ export const fetchFleetUsage = async ( agent_policies: await getAgentPoliciesUsage(soClient), ...(await getPanicLogsLastHour(esClient)), ...(await getAgentLogsTopErrors(esClient)), + agents_per_output_type: await getAgentsPerOutput(soClient, esClient), }; return usage; }; diff --git a/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts b/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts index 2aeb7a0e1a963..046ac5dfe9fad 100644 --- a/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts +++ b/x-pack/plugins/fleet/server/integration_tests/fleet_usage_telemetry.test.ts @@ -207,6 +207,20 @@ describe('fleet usage telemetry', () => { }, ], }, + { + create: { + _id: 'agent3', + }, + }, + { + agent: { + version: '8.6.0', + }, + last_checkin_status: 'online', + last_checkin: '2023-09-13T12:26:24Z', + active: true, + policy_id: 'policy2', + }, ], refresh: 'wait_for', }); @@ -348,20 +362,24 @@ describe('fleet usage telemetry', () => { { id: 'output3' } ); - await soClient.create('ingest-agent-policies', { - namespace: 'default', - monitoring_enabled: ['logs', 'metrics'], - name: 'Another policy', - description: 'Policy 2', - inactivity_timeout: 1209600, - status: 'active', - is_managed: false, - revision: 2, - updated_by: 'system', - schema_version: '1.0.0', - data_output_id: 'output2', - monitoring_output_id: 'output3', - }); + await soClient.create( + 'ingest-agent-policies', + { + namespace: 'default', + monitoring_enabled: ['logs', 'metrics'], + name: 'Another policy', + description: 'Policy 2', + inactivity_timeout: 1209600, + status: 'active', + is_managed: false, + revision: 2, + updated_by: 'system', + schema_version: '1.0.0', + data_output_id: 'output2', + monitoring_output_id: 'output3', + }, + { id: 'policy2' } + ); }); afterAll(async () => { @@ -379,13 +397,13 @@ describe('fleet usage telemetry', () => { expect.objectContaining({ agents_enabled: true, agents: { - total_enrolled: 2, + total_enrolled: 3, healthy: 0, unhealthy: 0, inactive: 0, unenrolled: 1, - offline: 2, - total_all_statuses: 3, + offline: 3, + total_all_statuses: 4, updating: 0, }, fleet_server: { @@ -400,28 +418,28 @@ describe('fleet usage telemetry', () => { packages: [], agents_per_version: [ { - version: '8.5.1', - count: 1, + version: '8.6.0', + count: 2, healthy: 0, inactive: 0, - offline: 1, - unenrolled: 1, + offline: 2, + unenrolled: 0, unhealthy: 0, updating: 0, }, { - version: '8.6.0', + version: '8.5.1', count: 1, healthy: 0, inactive: 0, offline: 1, - unenrolled: 0, + unenrolled: 1, unhealthy: 0, updating: 0, }, ], agent_checkin_status: { error: 1, degraded: 1 }, - agents_per_policy: [2], + agents_per_policy: [2, 1], agents_per_os: [ { name: 'Ubuntu', @@ -434,6 +452,18 @@ describe('fleet usage telemetry', () => { count: 1, }, ], + agents_per_output_type: [ + { + count_as_data: 1, + count_as_monitoring: 0, + output_type: 'third_type', + }, + { + count_as_data: 0, + count_as_monitoring: 1, + output_type: 'logstash', + }, + ], fleet_server_config: { policies: [ { diff --git a/x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts b/x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts index 102f34c280800..555223c7b5b1c 100644 --- a/x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts +++ b/x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts @@ -24,7 +24,7 @@ const FLEET_AGENTS_EVENT_TYPE = 'fleet_agents'; export class FleetUsageSender { private taskManager?: TaskManagerStartContract; - private taskVersion = '1.1.1'; + private taskVersion = '1.1.2'; private taskType = 'Fleet-Usage-Sender'; private wasStarted: boolean = false; private interval = '1h'; @@ -80,7 +80,11 @@ export class FleetUsageSender { if (!usageData) { return; } - const { agents_per_version: agentsPerVersion, ...fleetUsageData } = usageData; + const { + agents_per_version: agentsPerVersion, + agents_per_output_type: agentsPerOutputType, + ...fleetUsageData + } = usageData; appContextService .getLogger() .debug('Fleet usage telemetry: ' + JSON.stringify(fleetUsageData)); @@ -93,6 +97,15 @@ export class FleetUsageSender { agentsPerVersion.forEach((byVersion) => { core.analytics.reportEvent(FLEET_AGENTS_EVENT_TYPE, { agents_per_version: byVersion }); }); + + appContextService + .getLogger() + .debug('Agents per output type telemetry: ' + JSON.stringify(agentsPerOutputType)); + agentsPerOutputType.forEach((byOutputType) => { + core.analytics.reportEvent(FLEET_AGENTS_EVENT_TYPE, { + agents_per_output_type: byOutputType, + }); + }); } catch (error) { appContextService .getLogger() diff --git a/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts b/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts index 616d30ad3d4b1..e59de684264bf 100644 --- a/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts +++ b/x-pack/plugins/fleet/server/services/telemetry/fleet_usages_schema.ts @@ -9,6 +9,10 @@ import type { RootSchema } from '@kbn/analytics-client'; export const fleetAgentsSchema: RootSchema<any> = { agents_per_version: { + _meta: { + description: 'Agents per version telemetry', + optional: true, + }, properties: { version: { type: 'keyword', @@ -60,6 +64,32 @@ export const fleetAgentsSchema: RootSchema<any> = { }, }, }, + agents_per_output_type: { + _meta: { + description: 'Agents per output type telemetry', + optional: true, + }, + properties: { + output_type: { + type: 'keyword', + _meta: { + description: 'Output type used by agent', + }, + }, + count_as_data: { + type: 'long', + _meta: { + description: 'Number of agents enrolled that use this output type as data output', + }, + }, + count_as_monitoring: { + type: 'long', + _meta: { + description: 'Number of agents enrolled that use this output type as monitoring output', + }, + }, + }, + }, }; export const fleetUsagesSchema: RootSchema<any> = { From 1dee16e06169a756a3ed8856435ed572fddd20cf Mon Sep 17 00:00:00 2001 From: Sergi Massaneda <sergi.massaneda@elastic.co> Date: Mon, 18 Sep 2023 12:45:14 +0200 Subject: [PATCH 073/149] [Security Solution] Fix AI Assistant overlay in Serverless pages (#166437) ## Summary issue: https://github.com/elastic/kibana/issues/166436 ![AI Assistant header link](https://github.com/elastic/kibana/assets/17747913/66614838-0e70-45b3-b79e-f4e70253fba2) ### Bug The bug was caused by the `AssistantOverlay` being rendered inside the `SecuritySolutionPageWrapper`, which is a "styling" wrapper that is not used by all the pages in the Security Solution application, the serverless-specific pages for instance, use their own page wrapper for styling. ### Changes #### Fix This PR fixes the bug by rendering the `AssistantOverlay` in the `HomePage`, along with other similar components such as the `HelpMenu` or the `TopValuesPopover`, which are components that need to be always present in the application layout. #### Cleaning The assistant provider configuration logic has also been moved from the `App` component to a new `provider.tsx` component in the _public/assistant_ directory, this way we don't pollute the main Security `App` component with assistant-specific logic. The `isAssistantEnabled` prop has been removed from the `Assistant` component. We don't need to check the availability and pass it by props everywhere we use the assistant, it can be retrieved from the assistant context. --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../assistant_overlay/index.test.tsx | 10 +-- .../assistant/assistant_overlay/index.tsx | 11 +-- .../impl/assistant/index.test.tsx | 33 +++++--- .../impl/assistant/index.tsx | 3 +- .../mock/test_providers/test_providers.tsx | 2 +- .../packages/kbn-elastic-assistant/index.ts | 2 +- .../security_solution/public/app/app.tsx | 58 +------------- .../app/home/global_header/index.test.tsx | 40 +--------- .../public/app/home/global_header/index.tsx | 7 +- .../public/app/home/index.tsx | 2 + .../public/app/translations.ts | 4 - .../public/assistant/header_link.test.tsx | 47 +++++++++++ .../header_link.tsx} | 41 +++++----- .../public/assistant/overlay.test.tsx | 37 +++++++++ .../public/assistant/overlay.tsx | 19 +++++ .../public/assistant/provider.tsx | 77 +++++++++++++++++++ .../common/components/page_wrapper/index.tsx | 4 - .../timeline/tabs_content/index.tsx | 42 +++------- 18 files changed, 253 insertions(+), 186 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/assistant/header_link.test.tsx rename x-pack/plugins/security_solution/public/{app/home/global_header/assistant_header_link.tsx => assistant/header_link.tsx} (61%) create mode 100644 x-pack/plugins/security_solution/public/assistant/overlay.test.tsx create mode 100644 x-pack/plugins/security_solution/public/assistant/overlay.tsx create mode 100644 x-pack/plugins/security_solution/public/assistant/provider.tsx diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.test.tsx index ff96f8b66c92b..972d3d9099cd0 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.test.tsx @@ -23,7 +23,7 @@ describe('AssistantOverlay', () => { it('renders when isAssistantEnabled prop is true and keyboard shortcut is pressed', () => { const { getByTestId } = render( <TestProviders providerContext={{ assistantTelemetry }}> - <AssistantOverlay isAssistantEnabled={true} /> + <AssistantOverlay /> </TestProviders> ); fireEvent.keyDown(document, { key: ';', ctrlKey: true }); @@ -34,7 +34,7 @@ describe('AssistantOverlay', () => { it('modal closes when close button is clicked', () => { const { getByLabelText, queryByTestId } = render( <TestProviders> - <AssistantOverlay isAssistantEnabled={true} /> + <AssistantOverlay /> </TestProviders> ); fireEvent.keyDown(document, { key: ';', ctrlKey: true }); @@ -47,7 +47,7 @@ describe('AssistantOverlay', () => { it('Assistant invoked from shortcut tracking happens on modal open only (not close)', () => { render( <TestProviders providerContext={{ assistantTelemetry }}> - <AssistantOverlay isAssistantEnabled={true} /> + <AssistantOverlay /> </TestProviders> ); fireEvent.keyDown(document, { key: ';', ctrlKey: true }); @@ -63,7 +63,7 @@ describe('AssistantOverlay', () => { it('modal closes when shortcut is pressed and modal is already open', () => { const { queryByTestId } = render( <TestProviders> - <AssistantOverlay isAssistantEnabled={true} /> + <AssistantOverlay /> </TestProviders> ); fireEvent.keyDown(document, { key: ';', ctrlKey: true }); @@ -75,7 +75,7 @@ describe('AssistantOverlay', () => { it('modal does not open when incorrect shortcut is pressed', () => { const { queryByTestId } = render( <TestProviders> - <AssistantOverlay isAssistantEnabled={true} /> + <AssistantOverlay /> </TestProviders> ); fireEvent.keyDown(document, { key: 'a', ctrlKey: true }); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx index 43635fba95df5..ac72fc27dd891 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx @@ -22,15 +22,12 @@ const StyledEuiModal = styled(EuiModal)` min-width: 95vw; min-height: 25vh; `; -interface Props { - isAssistantEnabled: boolean; -} /** * Modal container for Elastic AI Assistant conversations, receiving the page contents as context, plus whatever * component currently has focus and any specific context it may provide through the SAssInterface. */ -export const AssistantOverlay = React.memo<Props>(({ isAssistantEnabled }) => { +export const AssistantOverlay = React.memo(() => { const [isModalVisible, setIsModalVisible] = useState(false); const [conversationId, setConversationId] = useState<string | undefined>( WELCOME_CONVERSATION_TITLE @@ -103,11 +100,7 @@ export const AssistantOverlay = React.memo<Props>(({ isAssistantEnabled }) => { <> {isModalVisible && ( <StyledEuiModal onClose={handleCloseModal} data-test-subj="ai-assistant-modal"> - <Assistant - isAssistantEnabled={isAssistantEnabled} - conversationId={conversationId} - promptContextId={promptContextId} - /> + <Assistant conversationId={conversationId} promptContextId={promptContextId} /> </StyledEuiModal> )} </> diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.test.tsx index fcd203ce0cd97..acb41a9575581 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.test.tsx @@ -22,7 +22,7 @@ import { WELCOME_CONVERSATION_TITLE } from './use_conversation/translations'; import { useLocalStorage } from 'react-use'; import { PromptEditor } from './prompt_editor'; import { QuickPrompts } from './quick_prompts/quick_prompts'; -import { TestProviders } from '../mock/test_providers/test_providers'; +import { mockAssistantAvailability, TestProviders } from '../mock/test_providers/test_providers'; jest.mock('../connectorland/use_load_connectors'); jest.mock('../connectorland/connector_setup'); @@ -46,10 +46,10 @@ const getInitialConversations = (): Record<string, Conversation> => ({ }, }); -const renderAssistant = (extraProps = {}) => +const renderAssistant = (extraProps = {}, providerProps = {}) => render( - <TestProviders getInitialConversations={getInitialConversations}> - <Assistant isAssistantEnabled {...extraProps} /> + <TestProviders getInitialConversations={getInitialConversations} {...providerProps}> + <Assistant {...extraProps} /> </TestProviders> ); @@ -110,9 +110,10 @@ describe('Assistant', () => { data: connectors, } as unknown as UseQueryResult<ActionConnector[], IHttpFetchError>); - const { getByLabelText } = render( - <TestProviders - getInitialConversations={() => ({ + const { getByLabelText } = renderAssistant( + {}, + { + getInitialConversations: () => ({ [WELCOME_CONVERSATION_TITLE]: { id: WELCOME_CONVERSATION_TITLE, messages: [], @@ -124,10 +125,8 @@ describe('Assistant', () => { apiConfig: {}, excludeFromLastConversationStorage: true, }, - })} - > - <Assistant isAssistantEnabled /> - </TestProviders> + }), + } ); expect(persistToLocalStorage).toHaveBeenCalled(); @@ -176,4 +175,16 @@ describe('Assistant', () => { expect(persistToLocalStorage).toHaveBeenLastCalledWith(WELCOME_CONVERSATION_TITLE); }); }); + + describe('when not authorized', () => { + it('should be disabled', async () => { + const { queryByTestId } = renderAssistant( + {}, + { + assistantAvailability: { ...mockAssistantAvailability, isAssistantEnabled: false }, + } + ); + expect(queryByTestId('prompt-textarea')).toHaveProperty('disabled'); + }); + }); }); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx index 4ea1ed240870d..d119526a198c5 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx @@ -51,7 +51,6 @@ import { ConnectorMissingCallout } from '../connectorland/connector_missing_call export interface Props { conversationId?: string; - isAssistantEnabled: boolean; promptContextId?: string; shouldRefocusPrompt?: boolean; showTitle?: boolean; @@ -64,7 +63,6 @@ export interface Props { */ const AssistantComponent: React.FC<Props> = ({ conversationId, - isAssistantEnabled, promptContextId = '', shouldRefocusPrompt = false, showTitle = true, @@ -73,6 +71,7 @@ const AssistantComponent: React.FC<Props> = ({ const { assistantTelemetry, augmentMessageCodeBlocks, + assistantAvailability: { isAssistantEnabled }, conversations, defaultAllow, defaultAllowReplacement, diff --git a/x-pack/packages/kbn-elastic-assistant/impl/mock/test_providers/test_providers.tsx b/x-pack/packages/kbn-elastic-assistant/impl/mock/test_providers/test_providers.tsx index 484dd316cc0ac..057db39f66ba2 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/mock/test_providers/test_providers.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/mock/test_providers/test_providers.tsx @@ -29,7 +29,7 @@ window.HTMLElement.prototype.scrollIntoView = jest.fn(); const mockGetInitialConversations = () => ({}); -const mockAssistantAvailability: AssistantAvailability = { +export const mockAssistantAvailability: AssistantAvailability = { hasAssistantPrivilege: false, hasConnectorsAllPrivilege: true, hasConnectorsReadPrivilege: true, diff --git a/x-pack/packages/kbn-elastic-assistant/index.ts b/x-pack/packages/kbn-elastic-assistant/index.ts index 1353db4908006..8ec14b143ba13 100644 --- a/x-pack/packages/kbn-elastic-assistant/index.ts +++ b/x-pack/packages/kbn-elastic-assistant/index.ts @@ -11,7 +11,7 @@ // happens in the root of your app. Optionally provide a custom title for the assistant: /** provides context (from the app) to the assistant, and injects Kibana services, like `http` */ -export { AssistantProvider } from './impl/assistant_context'; +export { AssistantProvider, useAssistantContext } from './impl/assistant_context'; // Step 2: Add the `AssistantOverlay` component to your app. This component displays the assistant // overlay in a modal, bound to a shortcut key: diff --git a/x-pack/plugins/security_solution/public/app/app.tsx b/x-pack/plugins/security_solution/public/app/app.tsx index 8bbf2c3a425ec..88ced06445c07 100644 --- a/x-pack/plugins/security_solution/public/app/app.tsx +++ b/x-pack/plugins/security_solution/public/app/app.tsx @@ -5,10 +5,9 @@ * 2.0. */ -import { AssistantProvider } from '@kbn/elastic-assistant'; import type { History } from 'history'; import type { FC } from 'react'; -import React, { memo, useCallback } from 'react'; +import React, { memo } from 'react'; import type { Store, Action } from 'redux'; import { Provider as ReduxStoreProvider } from 'react-redux'; @@ -21,28 +20,18 @@ import { CellActionsProvider } from '@kbn/cell-actions'; import { NavigationProvider } from '@kbn/security-solution-navigation'; import { UpsellingProvider } from '../common/components/upselling_provider'; -import { useAssistantTelemetry } from '../assistant/use_assistant_telemetry'; -import { getComments } from '../assistant/get_comments'; -import { augmentMessageCodeBlocks, LOCAL_STORAGE_KEY } from '../assistant/helpers'; -import { useConversationStore } from '../assistant/use_conversation_store'; import { ManageUserInfo } from '../detections/components/user_info'; -import { DEFAULT_DARK_MODE, APP_NAME, APP_ID } from '../../common/constants'; +import { DEFAULT_DARK_MODE, APP_NAME } from '../../common/constants'; import { ErrorToastDispatcher } from '../common/components/error_toast_dispatcher'; import { MlCapabilitiesProvider } from '../common/components/ml/permissions/ml_capabilities_provider'; import { GlobalToaster, ManageGlobalToaster } from '../common/components/toasters'; import { KibanaContextProvider, useKibana, useUiSetting$ } from '../common/lib/kibana'; import type { State } from '../common/store'; -import { ASSISTANT_TITLE } from './translations'; import type { StartServices } from '../types'; import { PageRouter } from './routes'; import { UserPrivilegesProvider } from '../common/components/user_privileges/user_privileges_context'; import { ReactQueryClientProvider } from '../common/containers/query_client/query_client_provider'; -import { DEFAULT_ALLOW, DEFAULT_ALLOW_REPLACEMENT } from '../assistant/content/anonymization'; -import { PROMPT_CONTEXTS } from '../assistant/content/prompt_contexts'; -import { BASE_SECURITY_QUICK_PROMPTS } from '../assistant/content/quick_prompts'; -import { BASE_SECURITY_SYSTEM_PROMPTS } from '../assistant/content/prompts/system'; -import { useAnonymizationStore } from '../assistant/use_anonymization_store'; -import { useAssistantAvailability } from '../assistant/use_assistant_availability'; +import { AssistantProvider } from '../assistant/provider'; interface StartAppComponent { children: React.ReactNode; @@ -65,29 +54,12 @@ const StartAppComponent: FC<StartAppComponent> = ({ const { i18n, application: { capabilities }, - http, - triggersActionsUi: { actionTypeRegistry }, uiActions, upselling, } = services; - const assistantAvailability = useAssistantAvailability(); - const { conversations, setConversations } = useConversationStore(); - const { defaultAllow, defaultAllowReplacement, setDefaultAllow, setDefaultAllowReplacement } = - useAnonymizationStore(); - - const getInitialConversation = useCallback(() => { - return conversations; - }, [conversations]); - - const nameSpace = `${APP_ID}.${LOCAL_STORAGE_KEY}`; - const [darkMode] = useUiSetting$<boolean>(DEFAULT_DARK_MODE); - const { ELASTIC_WEBSITE_URL, DOC_LINK_VERSION } = useKibana().services.docLinks; - - const assistantTelemetry = useAssistantTelemetry(); - return ( <EuiErrorBoundary> <i18n.Context> @@ -95,29 +67,7 @@ const StartAppComponent: FC<StartAppComponent> = ({ <ReduxStoreProvider store={store}> <KibanaThemeProvider theme$={theme$}> <EuiThemeProvider darkMode={darkMode}> - <AssistantProvider - actionTypeRegistry={actionTypeRegistry} - augmentMessageCodeBlocks={augmentMessageCodeBlocks} - assistantAvailability={assistantAvailability} - assistantLangChain={false} - assistantTelemetry={assistantTelemetry} - defaultAllow={defaultAllow} - defaultAllowReplacement={defaultAllowReplacement} - docLinks={{ ELASTIC_WEBSITE_URL, DOC_LINK_VERSION }} - baseAllow={DEFAULT_ALLOW} - baseAllowReplacement={DEFAULT_ALLOW_REPLACEMENT} - basePromptContexts={Object.values(PROMPT_CONTEXTS)} - baseQuickPrompts={BASE_SECURITY_QUICK_PROMPTS} - baseSystemPrompts={BASE_SECURITY_SYSTEM_PROMPTS} - getInitialConversations={getInitialConversation} - getComments={getComments} - http={http} - nameSpace={nameSpace} - setConversations={setConversations} - setDefaultAllow={setDefaultAllow} - setDefaultAllowReplacement={setDefaultAllowReplacement} - title={ASSISTANT_TITLE} - > + <AssistantProvider> <MlCapabilitiesProvider> <UserPrivilegesProvider kibanaCapabilities={capabilities}> <ManageUserInfo> diff --git a/x-pack/plugins/security_solution/public/app/home/global_header/index.test.tsx b/x-pack/plugins/security_solution/public/app/home/global_header/index.test.tsx index 7dc0b338193a9..fe0b5bd500dc8 100644 --- a/x-pack/plugins/security_solution/public/app/home/global_header/index.test.tsx +++ b/x-pack/plugins/security_solution/public/app/home/global_header/index.test.tsx @@ -26,7 +26,6 @@ import { TimelineId } from '../../../../common/types/timeline'; import { createStore } from '../../../common/store'; import { kibanaObservable } from '@kbn/timelines-plugin/public/mock'; import { sourcererPaths } from '../../../common/containers/sourcerer'; -import { useAssistantAvailability } from '../../../assistant/use_assistant_availability'; jest.mock('react-router-dom', () => { const actual = jest.requireActual('react-router-dom'); @@ -49,15 +48,6 @@ jest.mock('react-reverse-portal', () => ({ createHtmlPortalNode: () => ({ unmount: jest.fn() }), })); -jest.mock('../../../assistant/use_assistant_availability'); - -jest.mocked(useAssistantAvailability).mockReturnValue({ - hasAssistantPrivilege: false, - hasConnectorsAllPrivilege: true, - hasConnectorsReadPrivilege: true, - isAssistantEnabled: true, -}); - describe('global header', () => { const mockSetHeaderActionMenu = jest.fn(); const state = { @@ -183,18 +173,11 @@ describe('global header', () => { expect(queryByTestId('sourcerer-trigger')).not.toBeInTheDocument(); }); - it('shows AI Assistant header link if user has necessary privileges', () => { + it('shows AI Assistant header link', () => { (useLocation as jest.Mock).mockReturnValue([ { pageName: SecurityPageName.overview, detailName: undefined }, ]); - jest.mocked(useAssistantAvailability).mockReturnValue({ - hasAssistantPrivilege: true, - hasConnectorsAllPrivilege: true, - hasConnectorsReadPrivilege: true, - isAssistantEnabled: true, - }); - const { findByTestId } = render( <TestProviders store={store}> <GlobalHeader setHeaderActionMenu={mockSetHeaderActionMenu} /> @@ -203,25 +186,4 @@ describe('global header', () => { waitFor(() => expect(findByTestId('assistantHeaderLink')).toBeInTheDocument()); }); - - it('does not show AI Assistant header link if user does not have necessary privileges', () => { - (useLocation as jest.Mock).mockReturnValue([ - { pageName: SecurityPageName.overview, detailName: undefined }, - ]); - - jest.mocked(useAssistantAvailability).mockReturnValue({ - hasAssistantPrivilege: false, - hasConnectorsAllPrivilege: true, - hasConnectorsReadPrivilege: true, - isAssistantEnabled: true, - }); - - const { findByTestId } = render( - <TestProviders store={store}> - <GlobalHeader setHeaderActionMenu={mockSetHeaderActionMenu} /> - </TestProviders> - ); - - waitFor(() => expect(findByTestId('assistantHeaderLink')).not.toBeInTheDocument()); - }); }); diff --git a/x-pack/plugins/security_solution/public/app/home/global_header/index.tsx b/x-pack/plugins/security_solution/public/app/home/global_header/index.tsx index 615d4e8161786..bde0b71a43270 100644 --- a/x-pack/plugins/security_solution/public/app/home/global_header/index.tsx +++ b/x-pack/plugins/security_solution/public/app/home/global_header/index.tsx @@ -27,8 +27,7 @@ import { timelineSelectors } from '../../../timelines/store/timeline'; import { useShallowEqualSelector } from '../../../common/hooks/use_selector'; import { getScopeFromPath, showSourcererByPath } from '../../../common/containers/sourcerer'; import { useAddIntegrationsUrl } from '../../../common/hooks/use_add_integrations_url'; -import { AssistantHeaderLink } from './assistant_header_link'; -import { useAssistantAvailability } from '../../../assistant/use_assistant_availability'; +import { AssistantHeaderLink } from '../../../assistant/header_link'; const BUTTON_ADD_DATA = i18n.translate('xpack.securitySolution.globalHeader.buttonAddData', { defaultMessage: 'Add integrations', @@ -54,8 +53,6 @@ export const GlobalHeader = React.memo( const { href, onClick } = useAddIntegrationsUrl(); - const { hasAssistantPrivilege } = useAssistantAvailability(); - useEffect(() => { setHeaderActionMenu((element) => { const mount = toMountPoint(<OutPortal node={portalNode} />, { theme$: theme.theme$ }); @@ -91,7 +88,7 @@ export const GlobalHeader = React.memo( {showSourcerer && !showTimeline && ( <Sourcerer scope={sourcererScope} data-test-subj="sourcerer" /> )} - {hasAssistantPrivilege && <AssistantHeaderLink />} + <AssistantHeaderLink /> </EuiHeaderLinks> </EuiHeaderSectionItem> </EuiHeaderSection> diff --git a/x-pack/plugins/security_solution/public/app/home/index.tsx b/x-pack/plugins/security_solution/public/app/home/index.tsx index 1e98b1c438957..b951501b16cb7 100644 --- a/x-pack/plugins/security_solution/public/app/home/index.tsx +++ b/x-pack/plugins/security_solution/public/app/home/index.tsx @@ -29,6 +29,7 @@ import { useUpdateExecutionContext } from '../../common/hooks/use_update_executi import { useUpgradeSecurityPackages } from '../../detection_engine/rule_management/logic/use_upgrade_security_packages'; import { useSetupDetectionEngineHealthApi } from '../../detection_engine/rule_monitoring'; import { TopValuesPopover } from '../components/top_values_popover/top_values_popover'; +import { AssistantOverlay } from '../../assistant/overlay'; interface HomePageProps { children: React.ReactNode; @@ -63,6 +64,7 @@ const HomePageComponent: React.FC<HomePageProps> = ({ children, setHeaderActionM </DragDropContextWrapper> <HelpMenu /> <TopValuesPopover /> + <AssistantOverlay /> </> </TourContextProvider> </ConsoleManager> diff --git a/x-pack/plugins/security_solution/public/app/translations.ts b/x-pack/plugins/security_solution/public/app/translations.ts index fcee866a2da3a..516239d164632 100644 --- a/x-pack/plugins/security_solution/public/app/translations.ts +++ b/x-pack/plugins/security_solution/public/app/translations.ts @@ -7,10 +7,6 @@ import { i18n } from '@kbn/i18n'; -export const ASSISTANT_TITLE = i18n.translate('xpack.securitySolution.assistant.title', { - defaultMessage: 'Elastic AI Assistant', -}); - export const OVERVIEW = i18n.translate('xpack.securitySolution.navigation.overview', { defaultMessage: 'Overview', }); diff --git a/x-pack/plugins/security_solution/public/assistant/header_link.test.tsx b/x-pack/plugins/security_solution/public/assistant/header_link.test.tsx new file mode 100644 index 0000000000000..e6b8cfea388a1 --- /dev/null +++ b/x-pack/plugins/security_solution/public/assistant/header_link.test.tsx @@ -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. + */ +import React from 'react'; +import { render } from '@testing-library/react'; +import { AssistantHeaderLink } from './header_link'; + +const mockShowAssistantOverlay = jest.fn(); +const mockAssistantAvailability = jest.fn(() => ({ + hasAssistantPrivilege: true, +})); +jest.mock('@kbn/elastic-assistant/impl/assistant_context', () => ({ + useAssistantContext: () => ({ + assistantAvailability: mockAssistantAvailability(), + showAssistantOverlay: mockShowAssistantOverlay, + }), +})); + +describe('AssistantHeaderLink', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should render the header link text', () => { + const { queryByText, queryByTestId } = render(<AssistantHeaderLink />); + expect(queryByTestId('assistantHeaderLink')).toBeInTheDocument(); + expect(queryByText('AI Assistant')).toBeInTheDocument(); + }); + + it('should not render the header link if not authorized', () => { + mockAssistantAvailability.mockReturnValueOnce({ hasAssistantPrivilege: false }); + + const { queryByText, queryByTestId } = render(<AssistantHeaderLink />); + expect(queryByTestId('assistantHeaderLink')).not.toBeInTheDocument(); + expect(queryByText('AI Assistant')).not.toBeInTheDocument(); + }); + + it('should call the assistant overlay to show on click', () => { + const { queryByTestId } = render(<AssistantHeaderLink />); + queryByTestId('assistantHeaderLink')?.click(); + expect(mockShowAssistantOverlay).toHaveBeenCalledTimes(1); + expect(mockShowAssistantOverlay).toHaveBeenCalledWith({ showOverlay: true }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/app/home/global_header/assistant_header_link.tsx b/x-pack/plugins/security_solution/public/assistant/header_link.tsx similarity index 61% rename from x-pack/plugins/security_solution/public/app/home/global_header/assistant_header_link.tsx rename to x-pack/plugins/security_solution/public/assistant/header_link.tsx index 00e1acf7e45d5..342a95454cdb4 100644 --- a/x-pack/plugins/security_solution/public/app/home/global_header/assistant_header_link.tsx +++ b/x-pack/plugins/security_solution/public/assistant/header_link.tsx @@ -14,43 +14,42 @@ import { AssistantAvatar } from '@kbn/elastic-assistant'; const isMac = navigator.platform.toLowerCase().indexOf('mac') >= 0; +const TOOLTIP_CONTENT = i18n.translate( + 'xpack.securitySolution.globalHeader.assistantHeaderLinkShortcutTooltip', + { + values: { keyboardShortcut: isMac ? '⌘ ;' : 'Ctrl ;' }, + defaultMessage: 'Keyboard shortcut {keyboardShortcut}', + } +); +const LINK_LABEL = i18n.translate('xpack.securitySolution.globalHeader.assistantHeaderLink', { + defaultMessage: 'AI Assistant', +}); + /** * Elastic AI Assistant header link */ -export const AssistantHeaderLink = React.memo(() => { - const { showAssistantOverlay } = useAssistantContext(); - - const keyboardShortcut = isMac ? '⌘ ;' : 'Ctrl ;'; - - const tooltipContent = i18n.translate( - 'xpack.securitySolution.globalHeader.assistantHeaderLinkShortcutTooltip', - { - values: { keyboardShortcut }, - defaultMessage: 'Keyboard shortcut {keyboardShortcut}', - } - ); +export const AssistantHeaderLink = () => { + const { showAssistantOverlay, assistantAvailability } = useAssistantContext(); const showOverlay = useCallback( () => showAssistantOverlay({ showOverlay: true }), [showAssistantOverlay] ); + if (!assistantAvailability.hasAssistantPrivilege) { + return null; + } + return ( - <EuiToolTip content={tooltipContent}> + <EuiToolTip content={TOOLTIP_CONTENT}> <EuiHeaderLink data-test-subj="assistantHeaderLink" color="primary" onClick={showOverlay}> <EuiFlexGroup gutterSize="s" alignItems="center"> <EuiFlexItem grow={false}> <AssistantAvatar size="xs" /> </EuiFlexItem> - <EuiFlexItem grow={false}> - {i18n.translate('xpack.securitySolution.globalHeader.assistantHeaderLink', { - defaultMessage: 'AI Assistant', - })} - </EuiFlexItem> + <EuiFlexItem grow={false}>{LINK_LABEL}</EuiFlexItem> </EuiFlexGroup> </EuiHeaderLink> </EuiToolTip> ); -}); - -AssistantHeaderLink.displayName = 'AssistantHeaderLink'; +}; diff --git a/x-pack/plugins/security_solution/public/assistant/overlay.test.tsx b/x-pack/plugins/security_solution/public/assistant/overlay.test.tsx new file mode 100644 index 0000000000000..fb082a4677595 --- /dev/null +++ b/x-pack/plugins/security_solution/public/assistant/overlay.test.tsx @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import { render } from '@testing-library/react'; +import { AssistantOverlay } from './overlay'; + +const mockAssistantAvailability = jest.fn(() => ({ + hasAssistantPrivilege: true, +})); +jest.mock('@kbn/elastic-assistant', () => ({ + AssistantOverlay: () => <div data-test-subj="assistantOverlay" />, + useAssistantContext: () => ({ + assistantAvailability: mockAssistantAvailability(), + }), +})); + +describe('AssistantOverlay', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('should render the header link text', () => { + const { queryByTestId } = render(<AssistantOverlay />); + expect(queryByTestId('assistantOverlay')).toBeInTheDocument(); + }); + + it('should not render the header link if not authorized', () => { + mockAssistantAvailability.mockReturnValueOnce({ hasAssistantPrivilege: false }); + + const { queryByTestId } = render(<AssistantOverlay />); + expect(queryByTestId('assistantOverlay')).not.toBeInTheDocument(); + }); +}); diff --git a/x-pack/plugins/security_solution/public/assistant/overlay.tsx b/x-pack/plugins/security_solution/public/assistant/overlay.tsx new file mode 100644 index 0000000000000..3ffaddaf2e8f5 --- /dev/null +++ b/x-pack/plugins/security_solution/public/assistant/overlay.tsx @@ -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 React from 'react'; +import { + AssistantOverlay as ElasticAssistantOverlay, + useAssistantContext, +} from '@kbn/elastic-assistant'; + +export const AssistantOverlay: React.FC = () => { + const { assistantAvailability } = useAssistantContext(); + if (!assistantAvailability.hasAssistantPrivilege) { + return null; + } + return <ElasticAssistantOverlay />; +}; diff --git a/x-pack/plugins/security_solution/public/assistant/provider.tsx b/x-pack/plugins/security_solution/public/assistant/provider.tsx new file mode 100644 index 0000000000000..cde9d5b58524d --- /dev/null +++ b/x-pack/plugins/security_solution/public/assistant/provider.tsx @@ -0,0 +1,77 @@ +/* + * 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, { useCallback } from 'react'; +import { i18n } from '@kbn/i18n'; +import { AssistantProvider as ElasticAssistantProvider } from '@kbn/elastic-assistant'; +import { useKibana } from '../common/lib/kibana'; +import { useAssistantTelemetry } from './use_assistant_telemetry'; +import { getComments } from './get_comments'; +import { augmentMessageCodeBlocks, LOCAL_STORAGE_KEY } from './helpers'; +import { useConversationStore } from './use_conversation_store'; +import { DEFAULT_ALLOW, DEFAULT_ALLOW_REPLACEMENT } from './content/anonymization'; +import { PROMPT_CONTEXTS } from './content/prompt_contexts'; +import { BASE_SECURITY_QUICK_PROMPTS } from './content/quick_prompts'; +import { BASE_SECURITY_SYSTEM_PROMPTS } from './content/prompts/system'; +import { useAnonymizationStore } from './use_anonymization_store'; +import { useAssistantAvailability } from './use_assistant_availability'; +import { APP_ID } from '../../common/constants'; + +const ASSISTANT_TITLE = i18n.translate('xpack.securitySolution.assistant.title', { + defaultMessage: 'Elastic AI Assistant', +}); + +/** + * This component configures the Elastic AI Assistant context provider for the Security Solution app. + */ +export const AssistantProvider: React.FC = ({ children }) => { + const { + http, + triggersActionsUi: { actionTypeRegistry }, + docLinks: { ELASTIC_WEBSITE_URL, DOC_LINK_VERSION }, + } = useKibana().services; + + const { conversations, setConversations } = useConversationStore(); + const getInitialConversation = useCallback(() => { + return conversations; + }, [conversations]); + + const assistantAvailability = useAssistantAvailability(); + const assistantTelemetry = useAssistantTelemetry(); + + const { defaultAllow, defaultAllowReplacement, setDefaultAllow, setDefaultAllowReplacement } = + useAnonymizationStore(); + + const nameSpace = `${APP_ID}.${LOCAL_STORAGE_KEY}`; + + return ( + <ElasticAssistantProvider + actionTypeRegistry={actionTypeRegistry} + augmentMessageCodeBlocks={augmentMessageCodeBlocks} + assistantAvailability={assistantAvailability} + assistantLangChain={false} + assistantTelemetry={assistantTelemetry} + defaultAllow={defaultAllow} + defaultAllowReplacement={defaultAllowReplacement} + docLinks={{ ELASTIC_WEBSITE_URL, DOC_LINK_VERSION }} + baseAllow={DEFAULT_ALLOW} + baseAllowReplacement={DEFAULT_ALLOW_REPLACEMENT} + basePromptContexts={Object.values(PROMPT_CONTEXTS)} + baseQuickPrompts={BASE_SECURITY_QUICK_PROMPTS} + baseSystemPrompts={BASE_SECURITY_SYSTEM_PROMPTS} + getInitialConversations={getInitialConversation} + getComments={getComments} + http={http} + nameSpace={nameSpace} + setConversations={setConversations} + setDefaultAllow={setDefaultAllow} + setDefaultAllowReplacement={setDefaultAllowReplacement} + title={ASSISTANT_TITLE} + > + {children} + </ElasticAssistantProvider> + ); +}; diff --git a/x-pack/plugins/security_solution/public/common/components/page_wrapper/index.tsx b/x-pack/plugins/security_solution/public/common/components/page_wrapper/index.tsx index d893674d49af5..acedbe669f36a 100644 --- a/x-pack/plugins/security_solution/public/common/components/page_wrapper/index.tsx +++ b/x-pack/plugins/security_solution/public/common/components/page_wrapper/index.tsx @@ -5,13 +5,11 @@ * 2.0. */ -import { AssistantOverlay } from '@kbn/elastic-assistant'; import classNames from 'classnames'; import React, { useEffect } from 'react'; import styled from 'styled-components'; import type { CommonProps } from '@elastic/eui'; -import { useAssistantAvailability } from '../../../assistant/use_assistant_availability'; import { useGlobalFullScreen } from '../../containers/use_full_screen'; import { AppGlobalStyle } from '../page'; @@ -42,7 +40,6 @@ interface SecuritySolutionPageWrapperProps { const SecuritySolutionPageWrapperComponent: React.FC< SecuritySolutionPageWrapperProps & CommonProps > = ({ children, className, style, noPadding, noTimeline, ...otherProps }) => { - const { isAssistantEnabled, hasAssistantPrivilege } = useAssistantAvailability(); const { globalFullScreen, setGlobalFullScreen } = useGlobalFullScreen(); useEffect(() => { setGlobalFullScreen(false); // exit full screen mode on page load @@ -59,7 +56,6 @@ const SecuritySolutionPageWrapperComponent: React.FC< <Wrapper className={classes} style={style} {...otherProps}> {children} <AppGlobalStyle /> - {hasAssistantPrivilege && <AssistantOverlay isAssistantEnabled={isAssistantEnabled} />} </Wrapper> ); }; diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx index 3d5b1a95d66da..2707bf7b04ebc 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/tabs_content/index.tsx @@ -100,33 +100,19 @@ interface BasicTimelineTab { } const AssistantTab: React.FC<{ - isAssistantEnabled: boolean; - renderCellValue: (props: CellValueElementProps) => React.ReactNode; - rowRenderers: RowRenderer[]; - timelineId: TimelineId; shouldRefocusPrompt: boolean; setConversationId: Dispatch<SetStateAction<string>>; -}> = memo( - ({ - isAssistantEnabled, - renderCellValue, - rowRenderers, - timelineId, - shouldRefocusPrompt, - setConversationId, - }) => ( - <Suspense fallback={<EuiSkeletonText lines={10} />}> - <AssistantTabContainer> - <Assistant - isAssistantEnabled={isAssistantEnabled} - conversationId={TIMELINE_CONVERSATION_TITLE} - setConversationId={setConversationId} - shouldRefocusPrompt={shouldRefocusPrompt} - /> - </AssistantTabContainer> - </Suspense> - ) -); +}> = memo(({ shouldRefocusPrompt, setConversationId }) => ( + <Suspense fallback={<EuiSkeletonText lines={10} />}> + <AssistantTabContainer> + <Assistant + conversationId={TIMELINE_CONVERSATION_TITLE} + setConversationId={setConversationId} + shouldRefocusPrompt={shouldRefocusPrompt} + /> + </AssistantTabContainer> + </Suspense> +)); AssistantTab.displayName = 'AssistantTab'; @@ -147,7 +133,7 @@ const ActiveTimelineTab = memo<ActiveTimelineTabProps>( showTimeline, }) => { const isDiscoverInTimelineEnabled = useIsExperimentalFeatureEnabled('discoverInTimeline'); - const { hasAssistantPrivilege, isAssistantEnabled } = useAssistantAvailability(); + const { hasAssistantPrivilege } = useAssistantAvailability(); const getTab = useCallback( (tab: TimelineTabs) => { switch (tab) { @@ -235,10 +221,6 @@ const ActiveTimelineTab = memo<ActiveTimelineTabProps>( {(activeTimelineTab === TimelineTabs.securityAssistant || hasTimelineConversationStarted) && ( <AssistantTab - isAssistantEnabled={isAssistantEnabled} - renderCellValue={renderCellValue} - rowRenderers={rowRenderers} - timelineId={timelineId} setConversationId={setConversationId} shouldRefocusPrompt={ showTimeline && activeTimelineTab === TimelineTabs.securityAssistant From 356d2a6028c590b4bacfdaeb8d8715057533195f Mon Sep 17 00:00:00 2001 From: Shahzad <shahzad31comp@gmail.com> Date: Mon, 18 Sep 2023 12:47:00 +0200 Subject: [PATCH 074/149] [Synthetics] Fix params sync is broken in non default space (#166557) --- .../synthetics/server/synthetics_service/synthetics_service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/synthetics/server/synthetics_service/synthetics_service.ts b/x-pack/plugins/synthetics/server/synthetics_service/synthetics_service.ts index eae3fb0082030..561a0e5a90e4c 100644 --- a/x-pack/plugins/synthetics/server/synthetics_service/synthetics_service.ts +++ b/x-pack/plugins/synthetics/server/synthetics_service/synthetics_service.ts @@ -608,7 +608,7 @@ export class SyntheticsService { await encryptedClient.createPointInTimeFinderDecryptedAsInternalUser<SyntheticsParams>({ type: syntheticsParamType, perPage: 1000, - namespaces: spaceId ? [spaceId] : undefined, + namespaces: spaceId ? [spaceId] : [ALL_SPACES_ID], }); for await (const response of finder.find()) { From e00aa75631961fa7bbe061291472d3a63ab19502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerg=C5=91=20=C3=81brah=C3=A1m?= <gergo.abraham@elastic.co> Date: Mon, 18 Sep 2023 12:59:12 +0200 Subject: [PATCH 075/149] [Security Solution][Defend Workflows] Fix type errors indicated by TS 4.7.4. (#163066) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary TypeScript 4.7.4 shows some errors in our codebase, and the errors are suppressed in PR #162738. This will be merged **after** the linked PR. This PR modifies the code so there's no need for suppressing the errors. There were 2 lint errors I couldn't fix. --- 1️⃣ The following one I didn't manage to fix without a deeper refactor ([link](https://github.com/gergoabraham/kibana/blob/chore/defend-workflows-fix-ts-4.7.4-type-errors/x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx#L219)) ```ts // x-pack/plugins/security_solution/public/common/mock/endpoint/app_context_render.tsx const store = createStore( mockGlobalState, storeReducer, kibanaObservable, storage, // @ts-expect-error ts upgrade v4.7.4 [...managementMiddlewareFactory(coreStart, depsStart), middlewareSpy.actionSpyMiddleware] ); ``` --- 2️⃣ Also, I have no idea how to fix this ([link](https://github.com/gergoabraham/kibana/blob/chore/defend-workflows-fix-ts-4.7.4-type-errors/x-pack/plugins/lists/server/services/extension_points/types.ts#L188)): ```ts pipeRun< T extends ExtensionPoint['type'], D extends NarrowExtensionPointToType<T> = NarrowExtensionPointToType<T>, // @ts-expect-error ts upgrade v4.7.4 P extends Parameters<D['callback']> = Parameters<D['callback']> >( extensionType: T, initialCallbackInput: P[0]['data'], callbackContext: ServerExtensionCallbackContext, callbackResponseValidator?: (data: P[0]['data']) => Error | undefined ): Promise<P[0]['data']>; ``` Tried by merging `D` and `P`, or by creating a helper type using `infer` to unwrap the type of `data`, but anyway I got type errors, so after some hours, I just let this go. Please let me know if you got an idea. --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../lazy_osquery_action_params_form.tsx | 3 ++- .../osquery/osquery_response_action.tsx | 9 ++------- .../components/page_overlay/page_overlay.tsx | 2 -- .../exception_operators_data_types/keyword_array.ts | 11 +++++------ 4 files changed, 9 insertions(+), 16 deletions(-) diff --git a/x-pack/plugins/osquery/public/shared_components/lazy_osquery_action_params_form.tsx b/x-pack/plugins/osquery/public/shared_components/lazy_osquery_action_params_form.tsx index af7ad511b061b..e14b73242d6d5 100644 --- a/x-pack/plugins/osquery/public/shared_components/lazy_osquery_action_params_form.tsx +++ b/x-pack/plugins/osquery/public/shared_components/lazy_osquery_action_params_form.tsx @@ -5,6 +5,7 @@ * 2.0. */ +import { EuiLoadingSpinner } from '@elastic/eui'; import React, { lazy, Suspense } from 'react'; import type { OsqueryResponseActionsParamsFormProps } from './osquery_response_action_type'; @@ -16,7 +17,7 @@ export const getLazyOsqueryResponseActionTypeForm = const { onError, defaultValues, onChange } = props; return ( - <Suspense fallback={null}> + <Suspense fallback={<EuiLoadingSpinner />}> <OsqueryResponseActionParamsForm onChange={onChange} defaultValues={defaultValues} diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx index 9f9ad505ff332..69564861c748a 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_response_actions/osquery/osquery_response_action.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useMemo } from 'react'; +import React from 'react'; import { EuiCode, EuiEmptyPrompt } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { useIsMounted } from '@kbn/securitysolution-hook-utils'; @@ -25,10 +25,6 @@ const GhostFormField = () => <></>; export const OsqueryResponseAction = React.memo((props: OsqueryResponseActionProps) => { const { osquery, application } = useKibana().services; - const OsqueryForm = useMemo( - () => osquery?.OsqueryResponseActionTypeForm, - [osquery?.OsqueryResponseActionTypeForm] - ); const isMounted = useIsMounted(); // serverless component that is returned when users do not have Endpoint.Complete tier @@ -85,8 +81,7 @@ export const OsqueryResponseAction = React.memo((props: OsqueryResponseActionPro ); } - // @ts-expect-error ts upgrade v4.7.4 - if (isMounted() && OsqueryForm) { + if (isMounted()) { return ( <UseField path={`${props.item.path}.params`} diff --git a/x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx b/x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx index e6f8f2b207ea8..77b39c9689a46 100644 --- a/x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx +++ b/x-pack/plugins/security_solution/public/management/components/page_overlay/page_overlay.tsx @@ -253,8 +253,6 @@ export const PageOverlay = memo<PageOverlayProps>( useEffect(() => { if ( isMounted() && - // @ts-expect-error ts upgrade v4.7.4 - onHide && hideOnUrlPathnameChange && !isHidden && openedOnPathName && diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts index 7d95f6c9ec6bc..ff3611b4ab583 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/group8/exception_operators_data_types/keyword_array.ts @@ -154,8 +154,7 @@ export default ({ getService }: FtrProviderContext) => { await waitForSignalsToBePresent(supertest, log, 1, [id]); const signalsOpen = await getSignalsById(supertest, log, id); const hits = signalsOpen.hits.hits.map((hit) => hit._source?.keyword).sort(); - // @ts-expect-error ts upgrade v4.7.4 - expect(hits.flat(Number.MAX_SAFE_INTEGER)).to.eql([]); + expect(hits.flat(10)).to.eql([]); }); }); @@ -283,7 +282,7 @@ export default ({ getService }: FtrProviderContext) => { await waitForSignalsToBePresent(supertest, log, 1, [id]); const signalsOpen = await getSignalsById(supertest, log, id); const hits = signalsOpen.hits.hits.map((hit) => hit._source?.keyword).sort(); - expect(hits.flat(Number.MAX_SAFE_INTEGER)).to.eql([]); + expect(hits.flat(10)).to.eql([]); }); }); @@ -345,7 +344,7 @@ export default ({ getService }: FtrProviderContext) => { await waitForSignalsToBePresent(supertest, log, 1, [id]); const signalsOpen = await getSignalsById(supertest, log, id); const hits = signalsOpen.hits.hits.map((hit) => hit._source?.keyword).sort(); - expect(hits.flat(Number.MAX_SAFE_INTEGER)).to.eql([]); + expect(hits.flat(10)).to.eql([]); }); }); @@ -525,7 +524,7 @@ export default ({ getService }: FtrProviderContext) => { await waitForSignalsToBePresent(supertest, log, 1, [id]); const signalsOpen = await getSignalsById(supertest, log, id); const hits = signalsOpen.hits.hits.map((hit) => hit._source?.keyword).sort(); - expect(hits.flat(Number.MAX_SAFE_INTEGER)).to.eql([]); + expect(hits.flat(10)).to.eql([]); }); }); @@ -695,7 +694,7 @@ export default ({ getService }: FtrProviderContext) => { await waitForSignalsToBePresent(supertest, log, 1, [id]); const signalsOpen = await getSignalsById(supertest, log, id); const hits = signalsOpen.hits.hits.map((hit) => hit._source?.keyword).sort(); - expect(hits.flat(Number.MAX_SAFE_INTEGER)).to.eql([]); + expect(hits.flat(10)).to.eql([]); }); }); From 9e4614647aaf5080e5f18ae7e08370ba3f9ce46f Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Mon, 18 Sep 2023 13:37:15 +0200 Subject: [PATCH 076/149] added restart upgrade action (#166154) ## Summary Ready to review, tests are WIP Resolves https://github.com/elastic/kibana/issues/135539 For agents in `Updating` state, adding a `Restart upgrade` action, which uses the force flag on the API to bypass the updating check. For single agent, the action is only added if the agent has started upgrade for more than 2 hours (see discussion in [issue](https://github.com/elastic/kibana/issues/135539#issuecomment-1716136658)) For bulk selection, the action appears if all selected agents are in updating state. To verify: - Start local es, kibana, fleet server (can be docker) - Enroll agents with horde - update agent docs with the queries below to simulate stuck in updating for more than 2 hours (modify the query to target specific agents) - bulk select agents and check that `Restart upgrade` action is visible, and it triggers another upgrade with force flag only on the agents stuck in updating - when calling the bulk_upgrade API, the UI adds the updating condition to the query / or includes only those agent ids that are stuck in updating, depending on query or manual selection ``` curl -sk -XPOST --user elastic:changeme -H 'content-type:application/json' \ http://localhost:9200/_security/role/fleet_superuser -d ' { "indices": [ { "names": [".fleet*",".kibana*"], "privileges": ["all"], "allow_restricted_indices": true } ] }' curl -sk -XPOST --user elastic:changeme -H 'content-type:application/json' \ http://localhost:9200/_security/user/fleet_superuser -d ' { "password": "password", "roles": ["superuser", "fleet_superuser"] }' curl -sk -XPOST --user fleet_superuser:password -H 'content-type:application/json' \ -H'x-elastic-product-origin:fleet' \ http://localhost:9200/.fleet-agents/_update_by_query -d ' { "script": { "source": "ctx._source.upgrade_started_at = \"2023-09-13T11:26:23Z\"", "lang": "painless" }, "query": { "exists": { "field": "tags" } } }' ``` Agent details action: <img width="1440" alt="image" src="https://github.com/elastic/kibana/assets/90178898/3704e781-337e-4175-b6d2-a99375b6cc24"> Agent list, bulk action: <img width="1482" alt="image" src="https://github.com/elastic/kibana/assets/90178898/74f46861-393e-4a86-ab1f-c21e8d325e89"> Agent list, single agent action: <img width="369" alt="image" src="https://github.com/elastic/kibana/assets/90178898/2aa087a1-b6e1-4e44-b1db-34592f3df959"> Agent details callout: <img width="771" alt="image" src="https://github.com/elastic/kibana/assets/90178898/d1584fe6-0c98-4033-8527-27235812c004"> Select all agents on first page, restart upgrade modal shows only those that are stuck in upgrading: <img width="1317" alt="image" src="https://github.com/elastic/kibana/assets/90178898/fe858815-4393-4007-abe6-e26e4a884bd3"> Select all agents on all pages, restart upgrade modal shows only those that are stuck upgrading, with an extra api call to get the count: <img width="2443" alt="image" src="https://github.com/elastic/kibana/assets/90178898/481b6ab5-fc87-4586-aa9b-432439234ac6"> ### Checklist - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [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 --- .../fleet/common/services/agent_status.ts | 12 ++ .../fleet/common/types/rest_spec/agent.ts | 2 + .../components/action_menu.test.tsx | 41 ++++++ .../components/actions_menu.tsx | 21 +++ .../agent_details/agent_details_overview.tsx | 2 +- .../components/bulk_actions.test.tsx | 5 + .../components/bulk_actions.tsx | 32 ++++- .../components/table_row_actions.test.tsx | 47 +++++++ .../components/table_row_actions.tsx | 20 +++ .../sections/agents/agent_list_page/index.tsx | 1 + .../agents/components/agent_health.test.tsx | 76 +++++++++++ .../agents/components/agent_health.tsx | 128 +++++++++++++++--- .../agent_upgrade_modal/index.test.tsx | 103 +++++++++++--- .../components/agent_upgrade_modal/index.tsx | 84 +++++++++++- 14 files changed, 520 insertions(+), 54 deletions(-) create mode 100644 x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.test.tsx diff --git a/x-pack/plugins/fleet/common/services/agent_status.ts b/x-pack/plugins/fleet/common/services/agent_status.ts index 2ea2bef9d69df..a7a5257c603b8 100644 --- a/x-pack/plugins/fleet/common/services/agent_status.ts +++ b/x-pack/plugins/fleet/common/services/agent_status.ts @@ -56,3 +56,15 @@ export function buildKueryForUpdatingAgents(): string { export function buildKueryForInactiveAgents() { return 'status:inactive'; } + +export const AGENT_UPDATING_TIMEOUT_HOURS = 2; + +export function isStuckInUpdating(agent: Agent): boolean { + return ( + agent.status === 'updating' && + !!agent.upgrade_started_at && + !agent.upgraded_at && + Date.now() - Date.parse(agent.upgrade_started_at) > + AGENT_UPDATING_TIMEOUT_HOURS * 60 * 60 * 1000 + ); +} diff --git a/x-pack/plugins/fleet/common/types/rest_spec/agent.ts b/x-pack/plugins/fleet/common/types/rest_spec/agent.ts index 07bb496434f1f..1e0e82d6c2ecd 100644 --- a/x-pack/plugins/fleet/common/types/rest_spec/agent.ts +++ b/x-pack/plugins/fleet/common/types/rest_spec/agent.ts @@ -101,6 +101,7 @@ export interface PostAgentUpgradeRequest { body: { source_uri?: string; version: string; + force?: boolean; }; } @@ -111,6 +112,7 @@ export interface PostBulkAgentUpgradeRequest { version: string; rollout_duration_seconds?: number; start_time?: string; + force?: boolean; }; } diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/action_menu.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/action_menu.test.tsx index b9ca2d64493e4..51c2250e0fe16 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/action_menu.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/action_menu.test.tsx @@ -163,3 +163,44 @@ describe('AgentDetailsActionMenu', () => { }); }); }); + +describe('Restart upgrade action', () => { + function renderAndGetRestartUpgradeButton({ + agent, + agentPolicy, + }: { + agent: Agent; + agentPolicy?: AgentPolicy; + }) { + const { utils } = renderActions({ + agent, + agentPolicy, + }); + + return utils.queryByTestId('restartUpgradeBtn'); + } + + it('should render an active button', async () => { + const res = renderAndGetRestartUpgradeButton({ + agent: { + status: 'updating', + upgrade_started_at: '2022-11-21T12:27:24Z', + } as any, + agentPolicy: {} as AgentPolicy, + }); + + expect(res).not.toBe(null); + expect(res).toBeEnabled(); + }); + + it('should not render action if agent is not stuck in updating', async () => { + const res = renderAndGetRestartUpgradeButton({ + agent: { + status: 'updating', + upgrade_started_at: new Date().toISOString(), + } as any, + agentPolicy: {} as AgentPolicy, + }); + expect(res).toBe(null); + }); +}); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/actions_menu.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/actions_menu.tsx index 80651ad5a4ab3..251a5407de045 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/actions_menu.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/actions_menu.tsx @@ -10,6 +10,7 @@ import { EuiPortal, EuiContextMenuItem } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { isAgentRequestDiagnosticsSupported } from '../../../../../../../common/services'; +import { isStuckInUpdating } from '../../../../../../../common/services/agent_status'; import type { Agent, AgentPolicy } from '../../../../types'; import { useAuthz, useKibanaVersion } from '../../../../hooks'; @@ -41,6 +42,7 @@ export const AgentDetailsActionMenu: React.FunctionComponent<{ const [isRequestDiagnosticsModalOpen, setIsRequestDiagnosticsModalOpen] = useState(false); const [isAgentDetailsJsonFlyoutOpen, setIsAgentDetailsJsonFlyoutOpen] = useState<boolean>(false); const isUnenrolling = agent.status === 'unenrolling'; + const isAgentUpdating = isStuckInUpdating(agent); const [isContextMenuOpen, setIsContextMenuOpen] = useState(false); const onContextMenuChange = useCallback( @@ -114,6 +116,24 @@ export const AgentDetailsActionMenu: React.FunctionComponent<{ ); } + if (isAgentUpdating) { + menuItems.push( + <EuiContextMenuItem + icon="refresh" + onClick={() => { + setIsUpgradeModalOpen(true); + }} + key="restartUpgradeAgent" + data-test-subj="restartUpgradeBtn" + > + <FormattedMessage + id="xpack.fleet.agentList.restartUpgradeOneButton" + defaultMessage="Restart upgrade" + /> + </EuiContextMenuItem> + ); + } + menuItems.push( <EuiContextMenuItem icon="inspect" @@ -180,6 +200,7 @@ export const AgentDetailsActionMenu: React.FunctionComponent<{ setIsUpgradeModalOpen(false); refreshAgent(); }} + isUpdating={isAgentUpdating} /> </EuiPortal> )} diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/agent_details_overview.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/agent_details_overview.tsx index 617ee8188c025..55a73c00d0688 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/agent_details_overview.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_details/agent_details_overview.tsx @@ -129,7 +129,7 @@ export const AgentDetailsOverviewSection: React.FunctionComponent<{ title: i18n.translate('xpack.fleet.agentDetails.statusLabel', { defaultMessage: 'Status', }), - description: <AgentHealth agent={agent} showOfflinePreviousStatus={true} />, + description: <AgentHealth agent={agent} fromDetails={true} />, }, { title: i18n.translate('xpack.fleet.agentDetails.lastActivityLabel', { diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/bulk_actions.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/bulk_actions.test.tsx index 2d07cdb98f01d..37f67dd9e6a41 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/bulk_actions.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/bulk_actions.test.tsx @@ -80,6 +80,7 @@ describe('AgentBulkActions', () => { expect(results.getByText('Upgrade 2 agents').closest('button')!).toBeDisabled(); expect(results.getByText('Schedule upgrade for 2 agents').closest('button')!).toBeDisabled(); expect(results.queryByText('Request diagnostics for 2 agents')).toBeNull(); + expect(results.getByText('Restart upgrade 2 agents').closest('button')!).toBeDisabled(); }); it('should show available actions for 2 selected agents if they are active', async () => { @@ -112,6 +113,7 @@ describe('AgentBulkActions', () => { expect(results.getByText('Unenroll 2 agents').closest('button')!).toBeEnabled(); expect(results.getByText('Upgrade 2 agents').closest('button')!).toBeEnabled(); expect(results.getByText('Schedule upgrade for 2 agents').closest('button')!).toBeDisabled(); + expect(results.getByText('Restart upgrade 2 agents').closest('button')!).toBeEnabled(); }); it('should add actions if mockedExperimentalFeaturesService is enabled', async () => { @@ -202,6 +204,7 @@ describe('AgentBulkActions', () => { expect( results.getByText('Request diagnostics for 10 agents').closest('button')! ).toBeEnabled(); + expect(results.getByText('Restart upgrade 10 agents').closest('button')!).toBeEnabled(); }); it('should show correct actions for the active agents and exclude the managed agents from the count', async () => { @@ -255,6 +258,7 @@ describe('AgentBulkActions', () => { expect( results.getByText('Request diagnostics for 8 agents').closest('button')! ).toBeEnabled(); + expect(results.getByText('Restart upgrade 8 agents').closest('button')!).toBeEnabled(); }); it('should show correct actions when no managed policies exist', async () => { @@ -292,6 +296,7 @@ describe('AgentBulkActions', () => { expect( results.getByText('Request diagnostics for 10 agents').closest('button')! ).toBeEnabled(); + expect(results.getByText('Restart upgrade 10 agents').closest('button')!).toBeEnabled(); }); it('should generate a correct kuery to select agents', async () => { diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/bulk_actions.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/bulk_actions.tsx index e5a33beba733b..03ffc5fd615ee 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/bulk_actions.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/bulk_actions.tsx @@ -73,7 +73,11 @@ export const AgentBulkActions: React.FunctionComponent<Props> = ({ // Actions states const [isReassignFlyoutOpen, setIsReassignFlyoutOpen] = useState<boolean>(false); const [isUnenrollModalOpen, setIsUnenrollModalOpen] = useState<boolean>(false); - const [updateModalState, setUpgradeModalState] = useState({ isOpen: false, isScheduled: false }); + const [updateModalState, setUpgradeModalState] = useState({ + isOpen: false, + isScheduled: false, + isUpdating: false, + }); const [isTagAddVisible, setIsTagAddVisible] = useState<boolean>(false); const [isRequestDiagnosticsModalOpen, setIsRequestDiagnosticsModalOpen] = useState<boolean>(false); @@ -219,7 +223,7 @@ export const AgentBulkActions: React.FunctionComponent<Props> = ({ disabled: !atLeastOneActiveAgentSelected, onClick: () => { closeMenu(); - setUpgradeModalState({ isOpen: true, isScheduled: false }); + setUpgradeModalState({ isOpen: true, isScheduled: false, isUpdating: false }); }, }, { @@ -237,11 +241,30 @@ export const AgentBulkActions: React.FunctionComponent<Props> = ({ disabled: !atLeastOneActiveAgentSelected || !isLicenceAllowingScheduleUpgrade, onClick: () => { closeMenu(); - setUpgradeModalState({ isOpen: true, isScheduled: true }); + setUpgradeModalState({ isOpen: true, isScheduled: true, isUpdating: false }); }, }, ]; + menuItems.push({ + name: ( + <FormattedMessage + id="xpack.fleet.agentBulkActions.restartUpgradeAgents" + data-test-subj="agentBulkActionsRestartUpgrade" + defaultMessage="Restart upgrade {agentCount, plural, one {# agent} other {# agents}}" + values={{ + agentCount, + }} + /> + ), + icon: <EuiIcon type="refresh" size="m" />, + disabled: !atLeastOneActiveAgentSelected, + onClick: () => { + closeMenu(); + setUpgradeModalState({ isOpen: true, isScheduled: false, isUpdating: true }); + }, + }); + if (diagnosticFileUploadEnabled) { menuItems.push({ name: ( @@ -306,8 +329,9 @@ export const AgentBulkActions: React.FunctionComponent<Props> = ({ agents={agents} agentCount={agentCount} isScheduled={updateModalState.isScheduled} + isUpdating={updateModalState.isUpdating} onClose={() => { - setUpgradeModalState({ isOpen: false, isScheduled: false }); + setUpgradeModalState({ isOpen: false, isScheduled: false, isUpdating: false }); refreshAgents(); }} /> diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/table_row_actions.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/table_row_actions.test.tsx index f58ebc3977c8b..17ebb6a6631f9 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/table_row_actions.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/table_row_actions.test.tsx @@ -132,4 +132,51 @@ describe('TableRowActions', () => { expect(res).not.toBeEnabled(); }); }); + + describe('Restart upgrade action', () => { + function renderAndGetRestartUpgradeButton({ + agent, + agentPolicy, + }: { + agent: Agent; + agentPolicy?: AgentPolicy; + }) { + const { utils } = renderTableRowActions({ + agent, + agentPolicy, + }); + + return utils.queryByTestId('restartUpgradeBtn'); + } + + it('should render an active button', async () => { + const res = renderAndGetRestartUpgradeButton({ + agent: { + active: true, + status: 'updating', + upgrade_started_at: '2022-11-21T12:27:24Z', + } as any, + agentPolicy: { + is_managed: false, + } as AgentPolicy, + }); + + expect(res).not.toBe(null); + expect(res).toBeEnabled(); + }); + + it('should not render action if agent is not stuck in updating', async () => { + const res = renderAndGetRestartUpgradeButton({ + agent: { + active: true, + status: 'updating', + upgrade_started_at: new Date().toISOString(), + } as any, + agentPolicy: { + is_managed: false, + } as AgentPolicy, + }); + expect(res).toBe(null); + }); + }); }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/table_row_actions.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/table_row_actions.tsx index 5f82d3b556897..6b36f0a29d587 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/table_row_actions.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/table_row_actions.tsx @@ -11,6 +11,8 @@ import { FormattedMessage } from '@kbn/i18n-react'; import { isAgentRequestDiagnosticsSupported } from '../../../../../../../common/services'; +import { isStuckInUpdating } from '../../../../../../../common/services/agent_status'; + import type { Agent, AgentPolicy } from '../../../../types'; import { useAuthz, useLink, useKibanaVersion } from '../../../../hooks'; import { ContextMenuActions } from '../../../../components'; @@ -117,6 +119,24 @@ export const TableRowActions: React.FunctionComponent<{ </EuiContextMenuItem> ); + if (isStuckInUpdating(agent)) { + menuItems.push( + <EuiContextMenuItem + key="agentRestartUpgradeBtn" + icon="refresh" + onClick={() => { + onUpgradeClick(); + }} + data-test-subj="restartUpgradeBtn" + > + <FormattedMessage + id="xpack.fleet.agentList.restartUpgradeOneButton" + defaultMessage="Restart upgrade" + /> + </EuiContextMenuItem> + ); + } + if (agentTamperProtectionEnabled && agent.policy_id) { menuItems.push( <EuiContextMenuItem diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.tsx index 72a50d11d4ee7..27e7836759e88 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/index.tsx @@ -490,6 +490,7 @@ export const AgentListPage: React.FunctionComponent<{}> = () => { setAgentToUpgrade(undefined); refreshAgents(); }} + isUpdating={Boolean(agentToUpgrade.upgrade_started_at && !agentToUpgrade.upgraded_at)} /> </EuiPortal> )} diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.test.tsx new file mode 100644 index 0000000000000..93646a544bebb --- /dev/null +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.test.tsx @@ -0,0 +1,76 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; + +import { act, fireEvent } from '@testing-library/react'; + +import { createFleetTestRendererMock } from '../../../../../mock'; + +import type { Agent } from '../../../types'; + +import { AgentHealth } from './agent_health'; + +jest.mock('./agent_upgrade_modal', () => { + return { + AgentUpgradeAgentModal: () => <>Upgrade Modal</>, + }; +}); + +function renderAgentHealth(agent: Agent, fromDetails?: boolean) { + const renderer = createFleetTestRendererMock(); + + const utils = renderer.render(<AgentHealth agent={agent} fromDetails={fromDetails} />); + + return { utils }; +} + +describe('AgentHealth', () => { + it('should render agent health with callout when agent stuck updating', () => { + const { utils } = renderAgentHealth( + { + active: true, + status: 'updating', + upgrade_started_at: '2022-11-21T12:27:24Z', + } as any, + true + ); + + act(() => { + fireEvent.click(utils.getByTestId('restartUpgradeBtn')); + }); + + utils.findByText('Upgrade Modal'); + }); + + it('should not render agent health with callout when agent not stuck updating', () => { + const { utils } = renderAgentHealth( + { + active: true, + status: 'updating', + upgrade_started_at: new Date().toISOString(), + } as any, + true + ); + + expect(utils.queryByTestId('restartUpgradeBtn')).not.toBeInTheDocument(); + }); + + it('should not render agent health with callout when not from details', () => { + const { utils } = renderAgentHealth( + { + active: true, + status: 'updating', + upgrade_started_at: '2022-11-21T12:27:24Z', + } as any, + false + ); + + expect(utils.queryByTestId('restartUpgradeBtn')).not.toBeInTheDocument(); + expect(utils.container.querySelector('[data-euiicon-type="warning"]')).not.toBeNull(); + }); +}); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.tsx index 9674480ab8bfe..9aefdff0d0578 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.tsx @@ -5,19 +5,35 @@ * 2.0. */ -import React, { useMemo } from 'react'; +import React, { useMemo, useState } from 'react'; +import styled from 'styled-components'; import { FormattedMessage, FormattedRelative } from '@kbn/i18n-react'; -import { EuiBadge, EuiToolTip } from '@elastic/eui'; +import { + EuiBadge, + EuiButton, + EuiCallOut, + EuiIcon, + EuiPortal, + EuiSpacer, + EuiToolTip, +} from '@elastic/eui'; import { euiLightVars as euiVars } from '@kbn/ui-theme'; -import { getPreviousAgentStatusForOfflineAgents } from '../../../../../../common/services/agent_status'; +import { + getPreviousAgentStatusForOfflineAgents, + isStuckInUpdating, +} from '../../../../../../common/services/agent_status'; import type { Agent } from '../../../types'; +import { useAgentRefresh } from '../agent_details_page/hooks'; + +import { AgentUpgradeAgentModal } from './agent_upgrade_modal'; + interface Props { agent: Agent; - showOfflinePreviousStatus?: boolean; + fromDetails?: boolean; } const Status = { @@ -79,10 +95,11 @@ function getStatusComponent(status: Agent['status']): React.ReactElement { } } -export const AgentHealth: React.FunctionComponent<Props> = ({ - agent, - showOfflinePreviousStatus, -}) => { +const WrappedEuiCallOut = styled(EuiCallOut)` + white-space: wrap !important; +`; + +export const AgentHealth: React.FunctionComponent<Props> = ({ agent, fromDetails }) => { const { last_checkin: lastCheckIn, last_checkin_message: lastCheckInMessage } = agent; const msLastCheckIn = new Date(lastCheckIn || 0).getTime(); const lastCheckInMessageText = lastCheckInMessage ? ( @@ -112,27 +129,94 @@ export const AgentHealth: React.FunctionComponent<Props> = ({ ); const previousToOfflineStatus = useMemo(() => { - if (!showOfflinePreviousStatus || agent.status !== 'offline') { + if (!fromDetails || agent.status !== 'offline') { return; } return getPreviousAgentStatusForOfflineAgents(agent); - }, [showOfflinePreviousStatus, agent]); + }, [fromDetails, agent]); + + const [isUpgradeModalOpen, setIsUpgradeModalOpen] = useState(false); + const refreshAgent = useAgentRefresh(); return ( - <EuiToolTip - position="top" - content={ + <> + <EuiToolTip + position="top" + content={ + <> + <p>{lastCheckinText}</p> + <p>{lastCheckInMessageText}</p> + {isStuckInUpdating(agent) ? ( + <p> + <FormattedMessage + id="xpack.fleet.agentHealth.restartUpgradeTooltipText" + defaultMessage="Agent may be stuck updating. Consider restarting the upgrade." + /> + </p> + ) : null} + </> + } + > + <> + {getStatusComponent(agent.status)} + {previousToOfflineStatus ? getStatusComponent(previousToOfflineStatus) : null} + {isStuckInUpdating(agent) && !fromDetails ? ( + <> +   + <EuiIcon type="warning" /> + </> + ) : null} + </> + </EuiToolTip> + {fromDetails && isStuckInUpdating(agent) ? ( <> - <p>{lastCheckinText}</p> - <p>{lastCheckInMessageText}</p> + <EuiSpacer size="m" /> + <WrappedEuiCallOut + iconType="warning" + size="m" + color="warning" + title={ + <FormattedMessage + id="xpack.fleet.agentHealth.stuckUpdatingTitle" + defaultMessage="Agent may be stuck updating." + /> + } + > + <p> + <FormattedMessage + id="xpack.fleet.agentHealth.stuckUpdatingText" + defaultMessage="Agent has been updating for a while, and may be stuck. Consider restarting the upgrade." + /> + </p> + <EuiButton + color="warning" + onClick={() => { + setIsUpgradeModalOpen(true); + }} + data-test-subj="restartUpgradeBtn" + > + <FormattedMessage + id="xpack.fleet.agentHealth.restartUpgradeBtn" + defaultMessage="Restart upgrade" + /> + </EuiButton> + </WrappedEuiCallOut> </> - } - > - <> - {getStatusComponent(agent.status)} - {previousToOfflineStatus ? getStatusComponent(previousToOfflineStatus) : null} - </> - </EuiToolTip> + ) : null} + {isUpgradeModalOpen && ( + <EuiPortal> + <AgentUpgradeAgentModal + agents={[agent]} + agentCount={1} + onClose={() => { + setIsUpgradeModalOpen(false); + refreshAgent(); + }} + isUpdating={true} + /> + </EuiPortal> + )} + </> ); }; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.test.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.test.tsx index 78619b976c49f..a3c50e0b9aee7 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.test.tsx @@ -7,20 +7,15 @@ import React from 'react'; -import { waitFor } from '@testing-library/react'; +import { act, fireEvent, waitFor } from '@testing-library/react'; import { createFleetTestRendererMock } from '../../../../../../mock'; +import { sendPostBulkAgentUpgrade } from '../../../../hooks'; + import { AgentUpgradeAgentModal } from '.'; import type { AgentUpgradeAgentModalProps } from '.'; -jest.mock('@elastic/eui', () => { - return { - ...jest.requireActual('@elastic/eui'), - EuiConfirmModal: ({ children }: any) => <>{children}</>, - }; -}); - jest.mock('../../../../hooks', () => { return { ...jest.requireActual('../../../../hooks'), @@ -29,9 +24,15 @@ jest.mock('../../../../hooks', () => { items: ['8.7.0'], }, }), + sendGetAgentStatus: jest.fn().mockResolvedValue({ + data: { results: { updating: 2 } }, + }), + sendPostBulkAgentUpgrade: jest.fn(), }; }); +const mockSendPostBulkAgentUpgrade = sendPostBulkAgentUpgrade as jest.Mock; + function renderAgentUpgradeAgentModal(props: Partial<AgentUpgradeAgentModalProps>) { const renderer = createFleetTestRendererMock(); @@ -41,6 +42,7 @@ function renderAgentUpgradeAgentModal(props: Partial<AgentUpgradeAgentModalProps return { utils }; } + describe('AgentUpgradeAgentModal', () => { it('should set the default to Immediately if there is less than 10 agents using kuery', async () => { const { utils } = renderAgentUpgradeAgentModal({ @@ -48,10 +50,7 @@ describe('AgentUpgradeAgentModal', () => { agentCount: 3, }); - const el = utils.container.querySelector( - '[data-test-subj="agentUpgradeModal.MaintenanceCombobox"]' - ); - expect(el).not.toBeNull(); + const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox'); expect(el?.textContent).toBe('Immediately'); }); @@ -61,10 +60,7 @@ describe('AgentUpgradeAgentModal', () => { agentCount: 3, }); - const el = utils.container.querySelector( - '[data-test-subj="agentUpgradeModal.MaintenanceCombobox"]' - ); - expect(el).not.toBeNull(); + const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox'); expect(el?.textContent).toBe('Immediately'); }); @@ -74,11 +70,7 @@ describe('AgentUpgradeAgentModal', () => { agentCount: 13, }); - const el = utils.container.querySelector( - '[data-test-subj="agentUpgradeModal.MaintenanceCombobox"]' - ); - - expect(el).not.toBeNull(); + const el = utils.getByTestId('agentUpgradeModal.MaintenanceCombobox'); expect(el?.textContent).toBe('1 hour'); }); @@ -93,4 +85,73 @@ describe('AgentUpgradeAgentModal', () => { expect(el.classList.contains('euiComboBox-isDisabled')).toBe(false); }); }); + + it('should restart uprade on updating agents if some agents in updating', async () => { + const { utils } = renderAgentUpgradeAgentModal({ + agents: [ + { status: 'updating', upgrade_started_at: '2022-11-21T12:27:24Z', id: 'agent1' }, + { id: 'agent2' }, + ] as any, + agentCount: 2, + isUpdating: true, + }); + + const el = utils.getByTestId('confirmModalTitleText'); + expect(el.textContent).toEqual('Restart upgrade on 1 out of 2 agents stuck in updating'); + + const btn = utils.getByTestId('confirmModalConfirmButton'); + await waitFor(() => { + expect(btn).toBeEnabled(); + }); + + act(() => { + fireEvent.click(btn); + }); + + expect(mockSendPostBulkAgentUpgrade.mock.calls.at(-1)[0]).toEqual( + expect.objectContaining({ agents: ['agent1'], force: true }) + ); + }); + + it('should restart upgrade on updating agents if kuery', async () => { + const { utils } = renderAgentUpgradeAgentModal({ + agents: '*', + agentCount: 3, + isUpdating: true, + }); + + const el = await utils.findByTestId('confirmModalTitleText'); + expect(el.textContent).toEqual('Restart upgrade on 2 out of 3 agents stuck in updating'); + + const btn = utils.getByTestId('confirmModalConfirmButton'); + await waitFor(() => { + expect(btn).toBeEnabled(); + }); + + act(() => { + fireEvent.click(btn); + }); + + expect(mockSendPostBulkAgentUpgrade.mock.calls.at(-1)[0]).toEqual( + expect.objectContaining({ + agents: + '(*) AND status:updating AND upgrade_started_at:* AND NOT upgraded_at:* AND upgrade_started_at < now-2h', + force: true, + }) + ); + }); + + it('should disable submit button if no agents stuck updating', () => { + const { utils } = renderAgentUpgradeAgentModal({ + agents: [ + { status: 'offline', upgrade_started_at: '2022-11-21T12:27:24Z', id: 'agent1' }, + { id: 'agent2' }, + ] as any, + agentCount: 2, + isUpdating: true, + }); + + const el = utils.getByTestId('confirmModalConfirmButton'); + expect(el).toBeDisabled(); + }); }); diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.tsx index 014075b1f0241..c4342d7436e22 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.tsx @@ -28,6 +28,11 @@ import semverGt from 'semver/functions/gt'; import semverLt from 'semver/functions/lt'; import { getMinVersion } from '../../../../../../../common/services/get_min_max_version'; +import { + AGENT_UPDATING_TIMEOUT_HOURS, + isStuckInUpdating, +} from '../../../../../../../common/services/agent_status'; + import type { Agent } from '../../../../types'; import { sendPostAgentUpgrade, @@ -35,6 +40,7 @@ import { useStartServices, useKibanaVersion, useConfig, + sendGetAgentStatus, } from '../../../../hooks'; import { sendGetAgentsAvailableVersions } from '../../../../hooks'; @@ -51,6 +57,7 @@ export interface AgentUpgradeAgentModalProps { agents: Agent[] | string; agentCount: number; isScheduled?: boolean; + isUpdating?: boolean; } const getVersion = (version: Array<EuiComboBoxOptionOption<string>>) => version[0]?.value as string; @@ -68,6 +75,7 @@ export const AgentUpgradeAgentModal: React.FunctionComponent<AgentUpgradeAgentMo agents, agentCount, isScheduled = false, + isUpdating = false, }) => { const { notifications } = useStartServices(); const kibanaVersion = useKibanaVersion() || ''; @@ -80,6 +88,47 @@ export const AgentUpgradeAgentModal: React.FunctionComponent<AgentUpgradeAgentMo const isSmallBatch = agentCount <= 10; const isAllAgents = agents === ''; + const [updatingAgents, setUpdatingAgents] = useState<number>(0); + const [updatingQuery, setUpdatingQuery] = useState<Agent[] | string>(''); + + const QUERY_STUCK_UPDATING = `status:updating AND upgrade_started_at:* AND NOT upgraded_at:* AND upgrade_started_at < now-${AGENT_UPDATING_TIMEOUT_HOURS}h`; + + useEffect(() => { + const getStuckUpdatingAgentCount = async (agentsOrQuery: Agent[] | string) => { + let newQuery; + // find updating agents from array + if (Array.isArray(agentsOrQuery) && agentsOrQuery.length > 0) { + if (agentsOrQuery.length === 0) { + return; + } + const newAgents = agentsOrQuery.filter((agent) => isStuckInUpdating(agent)); + const updatingCount = newAgents.length; + setUpdatingAgents(updatingCount); + setUpdatingQuery(newAgents); + return; + } else if (typeof agentsOrQuery === 'string' && agentsOrQuery !== '') { + newQuery = [`(${agentsOrQuery})`, QUERY_STUCK_UPDATING].join(' AND '); + } else { + newQuery = QUERY_STUCK_UPDATING; + } + setUpdatingQuery(newQuery); + + // if selection is a query, do an api call to get updating agents + try { + const res = await sendGetAgentStatus({ + kuery: newQuery, + }); + setUpdatingAgents(res?.data?.results?.updating ?? 0); + } catch (err) { + return; + } + }; + + if (!isUpdating) return; + + getStuckUpdatingAgentCount(agents); + }, [isUpdating, setUpdatingQuery, QUERY_STUCK_UPDATING, agents]); + useEffect(() => { const getVersions = async () => { try { @@ -166,14 +215,18 @@ export const AgentUpgradeAgentModal: React.FunctionComponent<AgentUpgradeAgentMo try { setIsSubmitting(true); + const getQuery = (agentsOrQuery: Agent[] | string) => + Array.isArray(agentsOrQuery) ? agentsOrQuery.map((agent) => agent.id) : agentsOrQuery; const { error } = isSingleAgent && !isScheduled ? await sendPostAgentUpgrade((agents[0] as Agent).id, { version, + force: isUpdating, }) : await sendPostBulkAgentUpgrade({ version, - agents: Array.isArray(agents) ? agents.map((agent) => agent.id) : agents, + agents: getQuery(isUpdating ? updatingQuery : agents), + force: isUpdating, ...rolloutOptions, }); if (error) { @@ -219,16 +272,29 @@ export const AgentUpgradeAgentModal: React.FunctionComponent<AgentUpgradeAgentMo title={ <> {isSingleAgent ? ( - <FormattedMessage - id="xpack.fleet.upgradeAgents.upgradeSingleTitle" - defaultMessage="Upgrade agent" - /> + isUpdating ? ( + <FormattedMessage + id="xpack.fleet.upgradeAgents.restartUpgradeSingleTitle" + defaultMessage="Restart upgrade" + /> + ) : ( + <FormattedMessage + id="xpack.fleet.upgradeAgents.upgradeSingleTitle" + defaultMessage="Upgrade agent" + /> + ) ) : isScheduled ? ( <FormattedMessage id="xpack.fleet.upgradeAgents.scheduleUpgradeMultipleTitle" defaultMessage="Schedule upgrade for {count, plural, one {agent} other {{count} agents} =true {all selected agents}}" values={{ count: isAllAgents || agentCount }} /> + ) : isUpdating ? ( + <FormattedMessage + id="xpack.fleet.upgradeAgents.restartUpgradeMultipleTitle" + defaultMessage="Restart upgrade on {updating} out of {count, plural, one {agent} other {{count} agents} =true {all agents}} stuck in updating" + values={{ count: isAllAgents || agentCount, updating: updatingAgents }} + /> ) : ( <FormattedMessage id="xpack.fleet.upgradeAgents.upgradeMultipleTitle" @@ -246,7 +312,7 @@ export const AgentUpgradeAgentModal: React.FunctionComponent<AgentUpgradeAgentMo defaultMessage="Cancel" /> } - confirmButtonDisabled={isSubmitting || noVersions} + confirmButtonDisabled={isSubmitting || noVersions || (isUpdating && updatingAgents === 0)} confirmButtonText={ isSingleAgent ? ( <FormattedMessage @@ -258,6 +324,12 @@ export const AgentUpgradeAgentModal: React.FunctionComponent<AgentUpgradeAgentMo id="xpack.fleet.upgradeAgents.confirmScheduleMultipleButtonLabel" defaultMessage="Schedule" /> + ) : isUpdating ? ( + <FormattedMessage + id="xpack.fleet.upgradeAgents.restartConfirmMultipleButtonLabel" + defaultMessage="Restart upgrade {count, plural, one {agent} other {{count} agents} =true {all selected agents}}" + values={{ count: updatingAgents }} + /> ) : ( <FormattedMessage id="xpack.fleet.upgradeAgents.confirmMultipleButtonLabel" From 7d5bb9be50360b284f747006d2f6e80795de4de7 Mon Sep 17 00:00:00 2001 From: Giorgos Bamparopoulos <georgios.bamparopoulos@elastic.co> Date: Mon, 18 Sep 2023 14:47:36 +0300 Subject: [PATCH 077/149] [APM] Add elastic-api-version header to Kibana API calls (#166602) Versioned APIs in Kibana require an `elastic-api-version` header. This PR adds the required header to Synthtrace. --- .../src/lib/apm/client/apm_synthtrace_kibana_client.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts index bfae0c76d76a8..3304fc7bd3c9c 100644 --- a/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts +++ b/packages/kbn-apm-synthtrace/src/lib/apm/client/apm_synthtrace_kibana_client.ts @@ -69,5 +69,6 @@ function kibanaHeaders() { Accept: 'application/json', 'Content-Type': 'application/json', 'kbn-xsrf': 'kibana', + 'elastic-api-version': '2023-10-31', }; } From 70c7fc571b714f9bc00f6d2c71c1fd13c587caad Mon Sep 17 00:00:00 2001 From: Kurt <kc13greiner@users.noreply.github.com> Date: Mon, 18 Sep 2023 08:31:16 -0400 Subject: [PATCH 078/149] Upgrade openpgp 5.3.0 to 5.10.1 (#165526) ## Summary Upgrade `openpgp` from `5.3.0` to `5.10.1` Commit log: https://github.com/openpgpjs/openpgpjs/compare/v5.3.0...v5.10.1 There is an incompatibility of `Uint8Array` when using Jest/JSDom with the TextEncoder/TextDecoder from node `util`. `https://github.com/kayahr/text-encoding` has been added as a `devDependency` so it can be used in the polyfill. It provides a working TextEncoder/Decoder for our Jest tests. --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- package.json | 3 ++- .../src/jest/setup/polyfills.jsdom.js | 6 +++--- renovate.json | 5 +++-- src/dev/license_checker/config.ts | 2 +- yarn.lock | 20 +++++++++++++++---- 5 files changed, 25 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 220d685d29cab..d3f6a91735108 100644 --- a/package.json +++ b/package.json @@ -952,7 +952,7 @@ "object-hash": "^1.3.1", "object-path-immutable": "^3.1.1", "openai": "^3.3.0", - "openpgp": "5.3.0", + "openpgp": "5.10.1", "opn": "^5.5.0", "ora": "^4.0.4", "p-limit": "^3.0.1", @@ -1098,6 +1098,7 @@ "@jest/reporters": "^29.6.1", "@jest/transform": "^29.6.1", "@jest/types": "^29.6.1", + "@kayahr/text-encoding": "^1.2.0", "@kbn/alerting-api-integration-helpers": "link:x-pack/test/alerting_api_integration/packages/helpers", "@kbn/ambient-common-types": "link:packages/kbn-ambient-common-types", "@kbn/ambient-ftr-types": "link:packages/kbn-ambient-ftr-types", diff --git a/packages/kbn-test/src/jest/setup/polyfills.jsdom.js b/packages/kbn-test/src/jest/setup/polyfills.jsdom.js index 1d963afdfc4da..77aa4a6e389d1 100644 --- a/packages/kbn-test/src/jest/setup/polyfills.jsdom.js +++ b/packages/kbn-test/src/jest/setup/polyfills.jsdom.js @@ -17,9 +17,9 @@ if (!global.URL.hasOwnProperty('createObjectURL')) { // https://github.com/jsdom/jsdom/issues/2524 if (!global.hasOwnProperty('TextEncoder')) { - const { TextEncoder, TextDecoder } = require('util'); - global.TextEncoder = TextEncoder; - global.TextDecoder = TextDecoder; + const customTextEncoding = require('@kayahr/text-encoding'); + global.TextEncoder = customTextEncoding.TextEncoder; + global.TextDecoder = customTextEncoding.TextDecoder; } // NOTE: We should evaluate removing this once we upgrade to Node 18 and find out if loaders.gl already fixed this usage diff --git a/renovate.json b/renovate.json index 7d6ccf6a22c88..0fd6ad800c03c 100644 --- a/renovate.json +++ b/renovate.json @@ -286,7 +286,8 @@ "tough-cookie", "@types/tough-cookie", "xml-crypto", - "@types/xml-crypto" + "@types/xml-crypto", + "@kayahr/text-encoding" ], "reviewers": [ "team:kibana-security" @@ -611,4 +612,4 @@ "enabled": true } ] -} \ No newline at end of file +} diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index ff0296ec9777b..d7c04f430661c 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -78,7 +78,7 @@ export const DEV_ONLY_LICENSE_ALLOWED = ['MPL-2.0']; // there are some licenses which should not be globally allowed // but can be brought in on a per-package basis export const PER_PACKAGE_ALLOWED_LICENSES = { - 'openpgp@5.3.0': ['LGPL-3.0+'], + 'openpgp@5.10.1': ['LGPL-3.0+'], }; // Globally overrides a license for a given package@version export const LICENSE_OVERRIDES = { diff --git a/yarn.lock b/yarn.lock index e9c20dd8ff99a..8416457ad4a45 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2950,6 +2950,13 @@ resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== +"@kayahr/text-encoding@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@kayahr/text-encoding/-/text-encoding-1.2.0.tgz#9d75de6b40d7694e524c8ce39fc6e08994680746" + integrity sha512-61R84DjOQvO4bakOl4Vwuw0wU3FLbFtfUf4ApJquQ2+N3AY2VlN0j9te8rpGFHx2mzvhWKetyDgVZiLeU2/dhA== + dependencies: + tslib "^2.5.2" + "@kbn/aad-fixtures-plugin@link:x-pack/test/alerting_api_integration/common/plugins/aad": version "0.0.0" uid "" @@ -23394,10 +23401,10 @@ opener@^1.5.2: resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== -openpgp@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/openpgp/-/openpgp-5.3.0.tgz#e8fc97e538865b8c095dbd91c7be4203bd1dd1df" - integrity sha512-qjCj0vYpV3dmmkE+vURiJ5kVAJwrMk8BPukvpWJiHcTNWKwPVsRS810plIe4klIcHVf1ScgUQwqtBbv99ff+kQ== +openpgp@5.10.1: + version "5.10.1" + resolved "https://registry.yarnpkg.com/openpgp/-/openpgp-5.10.1.tgz#3b137470187b79281719ced16fb9e60b822cfd24" + integrity sha512-SR5Ft+ej51d0+p53ld5Ney0Yiz0y8Mh1YYLJrvpRMbTaNhvS1QcDX0Oq1rW9sjBnQXtgrpWw2Zve3rm7K5C/pw== dependencies: asn1.js "^5.0.0" @@ -29154,6 +29161,11 @@ tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.1, tslib@^2.4 resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== +tslib@^2.5.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" From 3cfd6b540939d797a4aaa6e9903bde9cfb256e60 Mon Sep 17 00:00:00 2001 From: Marco Antonio Ghiani <marcoantonio.ghiani01@gmail.com> Date: Mon, 18 Sep 2023 14:39:45 +0200 Subject: [PATCH 079/149] [Log Explorer] Fix embedded Discover responsive view (#166429) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 📓 Summary Closes #166243 Removing the additional flex item for the DiscoverContainer restores the auto resizing for the container to correctly keep the Discover content responsive to viewport changes. https://github.com/elastic/kibana/assets/34506779/645d0c66-fce3-4e98-9d8f-76548153f603 --------- Co-authored-by: Marco Antonio Ghiani <marcoantonio.ghiani@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../components/discover_container/discover_container.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/discover/public/components/discover_container/discover_container.tsx b/src/plugins/discover/public/components/discover_container/discover_container.tsx index 28a596946bd18..8c879fdfef7bc 100644 --- a/src/plugins/discover/public/components/discover_container/discover_container.tsx +++ b/src/plugins/discover/public/components/discover_container/discover_container.tsx @@ -82,7 +82,11 @@ export const DiscoverContainerInternal = ({ css={discoverContainerWrapperCss} data-test-subj="discover-container-internal-wrapper" > - <EuiFlexItem> + <EuiFlexItem + css={css` + width: 100%; + `} + > <KibanaContextProvider services={services}> <DiscoverMainRoute customizationCallbacks={customizationCallbacks} From 6bede14e0e0403e337655f50e9a97454953c3efc Mon Sep 17 00:00:00 2001 From: Faisal Kanout <faisal.kanout@elastic.co> Date: Mon, 18 Sep 2023 14:51:41 +0200 Subject: [PATCH 080/149] [AO] Rename "Threshold rule" to "Custom threshold (BETA)" (#166145) ## Summary Fixes #166143 Fixes https://github.com/elastic/actionable-observability/issues/115 ### Expected <img width="575" alt="Screenshot 2023-09-11 at 11 48 40" src="https://github.com/elastic/kibana/assets/6838659/d446f7ad-37ba-4120-9a2e-286727a7c84b"> --- .../plugins/observability/common/constants.ts | 2 +- .../color_palette.ts | 0 .../constants.ts | 0 .../formatters/bytes.test.ts | 0 .../formatters/bytes.ts | 0 .../formatters/datetime.ts | 0 .../formatters/high_precision.ts | 0 .../formatters/index.ts | 0 .../formatters/number.ts | 0 .../formatters/percent.ts | 0 .../formatters/snapshot_metric_formats.ts | 0 .../formatters/types.ts | 0 .../metric_value_formatter.test.ts | 0 .../metric_value_formatter.ts | 2 +- .../metrics_explorer.ts | 14 +-- .../types.ts | 0 .../alert_details_app_section.test.tsx.snap | 0 .../alert_details_app_section.test.tsx | 0 .../components/alert_details_app_section.tsx | 10 +-- .../components/alert_flyout.tsx | 2 +- .../closable_popover_title.test.tsx | 0 .../components/closable_popover_title.tsx | 0 .../criterion_preview_chart.tsx | 16 ++-- .../threshold_annotations.test.tsx | 4 +- .../threshold_annotations.tsx | 4 +- .../custom_equation_editor.stories.tsx | 2 +- .../custom_equation_editor.tsx | 14 +-- .../components/custom_equation/index.tsx | 0 .../custom_equation/metric_row_controls.tsx | 0 .../custom_equation/metric_row_with_agg.tsx | 15 ++-- .../components/custom_equation/types.ts | 2 +- .../components/custom_threshold.stories.tsx} | 4 +- .../components/custom_threshold.test.tsx} | 4 +- .../components/custom_threshold.tsx} | 13 +-- .../components/expression_chart.test.tsx | 2 +- .../components/expression_chart.tsx | 10 +-- .../components/expression_row.test.tsx | 2 +- .../components/expression_row.tsx | 80 +++++++++++------ .../components/group_by.tsx | 0 .../components/metrics_alert_dropdown.tsx | 39 +++++---- .../components/series_chart.tsx | 6 +- .../components/triggers_actions_context.tsx | 0 .../components/validation.test.ts | 0 .../components/validation.tsx | 70 +++++++++------ ...custom_threshold_rule_expression.test.tsx} | 6 +- .../custom_threshold_rule_expression.tsx} | 37 ++++---- .../helpers/calculate_domain.ts | 4 +- .../helpers/corrected_percent_convert.test.ts | 0 .../helpers/corrected_percent_convert.ts | 0 .../helpers/create_formatter_for_metric.ts | 6 +- .../create_formatter_for_metrics.test.ts | 2 +- .../helpers/create_metric_label.test.ts | 2 +- .../helpers/create_metric_label.ts | 0 .../helpers/get_metric_id.ts | 2 +- .../helpers/kuery.ts | 0 .../helpers/metric_to_format.ts | 4 +- .../helpers/notifications.ts | 15 ++-- .../helpers/runtime_types.ts | 0 .../helpers/source_errors.ts | 2 +- .../helpers/use_alert_prefill.ts | 0 .../hooks/use_kibana_time_zone_setting.ts | 0 .../hooks/use_kibana_timefilter_time.tsx | 0 .../use_metric_threshold_alert_prefill.ts | 2 +- .../hooks/use_metrics_explorer_chart_data.ts | 4 +- .../hooks/use_metrics_explorer_data.test.tsx | 0 .../hooks/use_metrics_explorer_data.ts | 2 +- .../use_metrics_explorer_options.test.tsx | 0 .../hooks/use_metrics_explorer_options.ts | 4 +- .../hooks/use_tracked_promise.ts | 0 .../i18n_strings.ts | 12 +-- .../lib/generate_unique_key.test.ts | 2 +- .../lib/generate_unique_key.ts | 0 .../lib/transform_metrics_explorer_data.ts | 2 +- .../mocks/metric_threshold_rule.ts | 10 +-- .../rule_data_formatters.ts | 0 .../{threshold => custom_threshold}/types.ts | 4 +- .../with_kuery_autocompletion.tsx | 2 +- .../register_observability_rule_types.ts | 16 ++-- .../public/utils/metrics_explorer.ts | 4 +- x-pack/plugins/observability/server/index.ts | 2 +- .../custom_threshold_executor.test.ts} | 6 +- .../custom_threshold_executor.ts} | 27 +++--- .../lib/check_missing_group.ts | 2 +- ...onvert_strings_to_missing_groups_record.ts | 0 .../lib/create_bucket_selector.ts | 2 +- .../lib/create_condition_script.ts | 2 +- .../lib/create_custom_metrics_aggregations.ts | 2 +- .../lib/create_percentile_aggregation.ts | 2 +- .../lib/create_rate_aggregation.ts | 0 .../lib/create_timerange.test.ts | 2 +- .../lib/create_timerange.ts | 2 +- .../lib/evaluate_rule.ts | 4 +- .../lib/get_data.ts | 2 +- .../lib/metric_expression_params.ts | 2 +- .../lib/metric_query.test.ts | 2 +- .../lib/metric_query.ts | 5 +- .../lib/metrics_explorer.ts | 16 +--- .../lib/wrap_in_period.ts | 2 +- .../messages.ts | 60 +++++++------ .../register_custom_threshold_rule_type.ts} | 8 +- .../{threshold => custom_threshold}/types.ts | 2 +- .../utils.test.ts | 0 .../{threshold => custom_threshold}/utils.ts | 2 +- .../server/lib/rules/register_rule_types.ts | 2 +- .../translations/translations/fr-FR.json | 87 ------------------- .../translations/translations/ja-JP.json | 87 ------------------- .../translations/translations/zh-CN.json | 87 ------------------- .../avg_pct_fired.ts | 24 +++-- .../avg_pct_no_data.ts | 24 +++-- .../avg_us_fired.ts | 26 +++--- .../custom_eq_avg_bytes_fired.ts | 24 +++-- .../documents_count_fired.ts | 24 +++-- .../group_by_fired.ts | 26 +++--- ....ts => custom_threshold_rule_data_view.ts} | 7 +- .../helpers/alerting_api_helper.ts | 2 +- .../observability/index.ts | 14 +-- .../group4/check_registered_rule_types.ts | 2 +- .../api_integration/services/alerting_api.ts | 2 +- .../avg_pct_fired.ts | 24 +++-- .../avg_pct_no_data.ts | 24 +++-- .../custom_eq_avg_bytes_fired.ts | 24 +++-- .../documents_count_fired.ts | 24 +++-- .../group_by_fired.ts | 26 +++--- .../index.ts | 2 +- .../observability/index.feature_flags.ts | 2 +- 125 files changed, 520 insertions(+), 659 deletions(-) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/color_palette.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/constants.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/formatters/bytes.test.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/formatters/bytes.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/formatters/datetime.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/formatters/high_precision.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/formatters/index.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/formatters/number.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/formatters/percent.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/formatters/snapshot_metric_formats.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/formatters/types.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/metric_value_formatter.test.ts (100%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/metric_value_formatter.ts (89%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/metrics_explorer.ts (96%) rename x-pack/plugins/observability/common/{threshold_rule => custom_threshold_rule}/types.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/__snapshots__/alert_details_app_section.test.tsx.snap (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/alert_details_app_section.test.tsx (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/alert_details_app_section.tsx (95%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/alert_flyout.tsx (94%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/closable_popover_title.test.tsx (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/closable_popover_title.tsx (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/criterion_preview_chart/criterion_preview_chart.tsx (85%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/criterion_preview_chart/threshold_annotations.test.tsx (96%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/criterion_preview_chart/threshold_annotations.tsx (95%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/custom_equation/custom_equation_editor.stories.tsx (98%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/custom_equation/custom_equation_editor.tsx (92%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/custom_equation/index.tsx (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/custom_equation/metric_row_controls.tsx (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/custom_equation/metric_row_with_agg.tsx (91%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/custom_equation/types.ts (96%) rename x-pack/plugins/observability/public/components/{threshold/components/threshold.stories.tsx => custom_threshold/components/custom_threshold.stories.tsx} (88%) rename x-pack/plugins/observability/public/components/{threshold/components/threshold.test.tsx => custom_threshold/components/custom_threshold.test.tsx} (90%) rename x-pack/plugins/observability/public/components/{threshold/components/threshold.tsx => custom_threshold/components/custom_threshold.tsx} (81%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/expression_chart.test.tsx (96%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/expression_chart.tsx (94%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/expression_row.test.tsx (97%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/expression_row.tsx (82%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/group_by.tsx (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/metrics_alert_dropdown.tsx (80%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/series_chart.tsx (93%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/triggers_actions_context.tsx (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/validation.test.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/components/validation.tsx (76%) rename x-pack/plugins/observability/public/components/{threshold/threshold_rule_expression.test.tsx => custom_threshold/custom_threshold_rule_expression.test.tsx} (96%) rename x-pack/plugins/observability/public/components/{threshold/threshold_rule_expression.tsx => custom_threshold/custom_threshold_rule_expression.tsx} (92%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/calculate_domain.ts (92%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/corrected_percent_convert.test.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/corrected_percent_convert.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/create_formatter_for_metric.ts (76%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/create_formatter_for_metrics.test.ts (94%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/create_metric_label.test.ts (88%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/create_metric_label.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/get_metric_id.ts (93%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/kuery.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/metric_to_format.ts (80%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/notifications.ts (69%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/runtime_types.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/source_errors.ts (89%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/helpers/use_alert_prefill.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/hooks/use_kibana_time_zone_setting.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/hooks/use_kibana_timefilter_time.tsx (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/hooks/use_metric_threshold_alert_prefill.ts (91%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/hooks/use_metrics_explorer_chart_data.ts (97%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/hooks/use_metrics_explorer_data.test.tsx (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/hooks/use_metrics_explorer_data.ts (97%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/hooks/use_metrics_explorer_options.test.tsx (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/hooks/use_metrics_explorer_options.ts (97%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/hooks/use_tracked_promise.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/i18n_strings.ts (65%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/lib/generate_unique_key.test.ts (93%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/lib/generate_unique_key.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/lib/transform_metrics_explorer_data.ts (91%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/mocks/metric_threshold_rule.ts (93%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/rule_data_formatters.ts (100%) rename x-pack/plugins/observability/public/components/{threshold => custom_threshold}/types.ts (97%) rename x-pack/plugins/observability/server/lib/rules/{threshold/threshold_executor.test.ts => custom_threshold/custom_threshold_executor.test.ts} (99%) rename x-pack/plugins/observability/server/lib/rules/{threshold/threshold_executor.ts => custom_threshold/custom_threshold_executor.ts} (94%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/check_missing_group.ts (96%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/convert_strings_to_missing_groups_record.ts (100%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/create_bucket_selector.ts (98%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/create_condition_script.ts (92%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/create_custom_metrics_aggregations.ts (98%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/create_percentile_aggregation.ts (87%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/create_rate_aggregation.ts (100%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/create_timerange.test.ts (98%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/create_timerange.ts (92%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/evaluate_rule.ts (96%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/get_data.ts (99%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/metric_expression_params.ts (93%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/metric_query.test.ts (98%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/metric_query.ts (98%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/metrics_explorer.ts (94%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/lib/wrap_in_period.ts (93%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/messages.ts (73%) rename x-pack/plugins/observability/server/lib/rules/{threshold/register_threshold_rule_type.ts => custom_threshold/register_custom_threshold_rule_type.ts} (97%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/types.ts (96%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/utils.test.ts (100%) rename x-pack/plugins/observability/server/lib/rules/{threshold => custom_threshold}/utils.ts (99%) rename x-pack/test/alerting_api_integration/observability/{threshold_rule => custom_threshold_rule}/avg_pct_fired.ts (90%) rename x-pack/test/alerting_api_integration/observability/{threshold_rule => custom_threshold_rule}/avg_pct_no_data.ts (90%) rename x-pack/test/alerting_api_integration/observability/{threshold_rule => custom_threshold_rule}/avg_us_fired.ts (92%) rename x-pack/test/alerting_api_integration/observability/{threshold_rule => custom_threshold_rule}/custom_eq_avg_bytes_fired.ts (91%) rename x-pack/test/alerting_api_integration/observability/{threshold_rule => custom_threshold_rule}/documents_count_fired.ts (90%) rename x-pack/test/alerting_api_integration/observability/{threshold_rule => custom_threshold_rule}/group_by_fired.ts (92%) rename x-pack/test/alerting_api_integration/observability/{threshold_rule_data_view.ts => custom_threshold_rule_data_view.ts} (96%) rename x-pack/test_serverless/api_integration/test_suites/observability/{threshold_rule => custom_threshold_rule}/avg_pct_fired.ts (90%) rename x-pack/test_serverless/api_integration/test_suites/observability/{threshold_rule => custom_threshold_rule}/avg_pct_no_data.ts (90%) rename x-pack/test_serverless/api_integration/test_suites/observability/{threshold_rule => custom_threshold_rule}/custom_eq_avg_bytes_fired.ts (91%) rename x-pack/test_serverless/api_integration/test_suites/observability/{threshold_rule => custom_threshold_rule}/documents_count_fired.ts (90%) rename x-pack/test_serverless/api_integration/test_suites/observability/{threshold_rule => custom_threshold_rule}/group_by_fired.ts (92%) rename x-pack/test_serverless/api_integration/test_suites/observability/{threshold_rule => custom_threshold_rule}/index.ts (93%) diff --git a/x-pack/plugins/observability/common/constants.ts b/x-pack/plugins/observability/common/constants.ts index 3ba31bb1ee1eb..97f4341168fd9 100644 --- a/x-pack/plugins/observability/common/constants.ts +++ b/x-pack/plugins/observability/common/constants.ts @@ -10,7 +10,7 @@ import { AlertConsumers } from '@kbn/rule-data-utils'; import type { ValidFeatureId } from '@kbn/rule-data-utils'; export const SLO_BURN_RATE_RULE_TYPE_ID = 'slo.rules.burnRate'; -export const OBSERVABILITY_THRESHOLD_RULE_TYPE_ID = 'observability.rules.threshold'; +export const OBSERVABILITY_THRESHOLD_RULE_TYPE_ID = 'observability.rules.custom_threshold'; export const INVALID_EQUATION_REGEX = /[^A-Z|+|\-|\s|\d+|\.|\(|\)|\/|\*|>|<|=|\?|\:|&|\!|\|]+/g; export const ALERT_STATUS_ALL = 'all'; diff --git a/x-pack/plugins/observability/common/threshold_rule/color_palette.ts b/x-pack/plugins/observability/common/custom_threshold_rule/color_palette.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/color_palette.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/color_palette.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/constants.ts b/x-pack/plugins/observability/common/custom_threshold_rule/constants.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/constants.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/constants.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/formatters/bytes.test.ts b/x-pack/plugins/observability/common/custom_threshold_rule/formatters/bytes.test.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/formatters/bytes.test.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/formatters/bytes.test.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/formatters/bytes.ts b/x-pack/plugins/observability/common/custom_threshold_rule/formatters/bytes.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/formatters/bytes.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/formatters/bytes.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/formatters/datetime.ts b/x-pack/plugins/observability/common/custom_threshold_rule/formatters/datetime.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/formatters/datetime.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/formatters/datetime.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/formatters/high_precision.ts b/x-pack/plugins/observability/common/custom_threshold_rule/formatters/high_precision.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/formatters/high_precision.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/formatters/high_precision.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/formatters/index.ts b/x-pack/plugins/observability/common/custom_threshold_rule/formatters/index.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/formatters/index.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/formatters/index.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/formatters/number.ts b/x-pack/plugins/observability/common/custom_threshold_rule/formatters/number.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/formatters/number.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/formatters/number.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/formatters/percent.ts b/x-pack/plugins/observability/common/custom_threshold_rule/formatters/percent.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/formatters/percent.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/formatters/percent.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/formatters/snapshot_metric_formats.ts b/x-pack/plugins/observability/common/custom_threshold_rule/formatters/snapshot_metric_formats.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/formatters/snapshot_metric_formats.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/formatters/snapshot_metric_formats.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/formatters/types.ts b/x-pack/plugins/observability/common/custom_threshold_rule/formatters/types.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/formatters/types.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/formatters/types.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/metric_value_formatter.test.ts b/x-pack/plugins/observability/common/custom_threshold_rule/metric_value_formatter.test.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/metric_value_formatter.test.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/metric_value_formatter.test.ts diff --git a/x-pack/plugins/observability/common/threshold_rule/metric_value_formatter.ts b/x-pack/plugins/observability/common/custom_threshold_rule/metric_value_formatter.ts similarity index 89% rename from x-pack/plugins/observability/common/threshold_rule/metric_value_formatter.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/metric_value_formatter.ts index 1ba0879fcf465..114f30fd85307 100644 --- a/x-pack/plugins/observability/common/threshold_rule/metric_value_formatter.ts +++ b/x-pack/plugins/observability/common/custom_threshold_rule/metric_value_formatter.ts @@ -10,7 +10,7 @@ import { createFormatter } from './formatters'; export const metricValueFormatter = (value: number | null, metric: string = '') => { const noDataValue = i18n.translate( - 'xpack.observability.threshold.rule.alerting.noDataFormattedValue', + 'xpack.observability.customThreshold.rule.alerting.noDataFormattedValue', { defaultMessage: '[NO DATA]', } diff --git a/x-pack/plugins/observability/common/threshold_rule/metrics_explorer.ts b/x-pack/plugins/observability/common/custom_threshold_rule/metrics_explorer.ts similarity index 96% rename from x-pack/plugins/observability/common/threshold_rule/metrics_explorer.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/metrics_explorer.ts index d735e398e6661..66913385123c4 100644 --- a/x-pack/plugins/observability/common/threshold_rule/metrics_explorer.ts +++ b/x-pack/plugins/observability/common/custom_threshold_rule/metrics_explorer.ts @@ -7,19 +7,7 @@ import * as rt from 'io-ts'; import { xor } from 'lodash'; - -export const METRIC_EXPLORER_AGGREGATIONS = [ - 'avg', - 'max', - 'min', - 'cardinality', - 'rate', - 'count', - 'sum', - 'p95', - 'p99', - 'custom', -] as const; +import { METRIC_EXPLORER_AGGREGATIONS } from './constants'; export const OMITTED_AGGREGATIONS_FOR_CUSTOM_METRICS = ['custom', 'rate', 'p95', 'p99']; diff --git a/x-pack/plugins/observability/common/threshold_rule/types.ts b/x-pack/plugins/observability/common/custom_threshold_rule/types.ts similarity index 100% rename from x-pack/plugins/observability/common/threshold_rule/types.ts rename to x-pack/plugins/observability/common/custom_threshold_rule/types.ts diff --git a/x-pack/plugins/observability/public/components/threshold/components/__snapshots__/alert_details_app_section.test.tsx.snap b/x-pack/plugins/observability/public/components/custom_threshold/components/__snapshots__/alert_details_app_section.test.tsx.snap similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/components/__snapshots__/alert_details_app_section.test.tsx.snap rename to x-pack/plugins/observability/public/components/custom_threshold/components/__snapshots__/alert_details_app_section.test.tsx.snap diff --git a/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.test.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.test.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.test.tsx diff --git a/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx similarity index 95% rename from x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx index 95367577ccb22..ecb31f4a49b4b 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx @@ -32,13 +32,13 @@ import { import { DataView } from '@kbn/data-views-plugin/common'; import type { TimeRange } from '@kbn/es-query'; import { useKibana } from '../../../utils/kibana_react'; -import { metricValueFormatter } from '../../../../common/threshold_rule/metric_value_formatter'; +import { metricValueFormatter } from '../../../../common/custom_threshold_rule/metric_value_formatter'; import { AlertSummaryField, TopAlert } from '../../..'; import { generateUniqueKey } from '../lib/generate_unique_key'; import { ExpressionChart } from './expression_chart'; import { TIME_LABELS } from './criterion_preview_chart/criterion_preview_chart'; -import { Threshold } from './threshold'; +import { Threshold } from './custom_threshold'; import { MetricsExplorerChartType } from '../hooks/use_metrics_explorer_options'; import { AlertParams, MetricExpression, MetricThresholdRuleTypeParams } from '../types'; @@ -98,7 +98,7 @@ export default function AlertDetailsAppSection({ setAlertSummaryFields([ { label: i18n.translate( - 'xpack.observability.threshold.rule.alertDetailsAppSection.summaryField.rule', + 'xpack.observability.customThreshold.rule.alertDetailsAppSection.summaryField.rule', { defaultMessage: 'Rule', } @@ -160,7 +160,7 @@ export default function AlertDetailsAppSection({ </EuiTitle> <EuiText size="s" color="subdued"> <FormattedMessage - id="xpack.observability.threshold.rule.alertDetailsAppSection.criterion.subtitle" + id="xpack.observability.customThreshold.rule.alertDetailsAppSection.criterion.subtitle" defaultMessage="Last {lookback} {timeLabel}" values={{ lookback: criterion.timeSize, @@ -180,7 +180,7 @@ export default function AlertDetailsAppSection({ metricValueFormatter(d, 'metric' in criterion ? criterion.metric : undefined) } title={i18n.translate( - 'xpack.observability.threshold.rule.alertDetailsAppSection.thresholdTitle', + 'xpack.observability.customThreshold.rule.alertDetailsAppSection.thresholdTitle', { defaultMessage: 'Threshold breached', } diff --git a/x-pack/plugins/observability/public/components/threshold/components/alert_flyout.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.tsx similarity index 94% rename from x-pack/plugins/observability/public/components/threshold/components/alert_flyout.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.tsx index e0d24d58eb0db..824d5b41d14ca 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/alert_flyout.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/alert_flyout.tsx @@ -7,7 +7,7 @@ import React, { useCallback, useContext, useMemo } from 'react'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '../../../../common/constants'; -import { MetricsExplorerSeries } from '../../../../common/threshold_rule/metrics_explorer'; +import { MetricsExplorerSeries } from '../../../../common/custom_threshold_rule/metrics_explorer'; import { TriggerActionsContext } from './triggers_actions_context'; import { useAlertPrefillContext } from '../helpers/use_alert_prefill'; diff --git a/x-pack/plugins/observability/public/components/threshold/components/closable_popover_title.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/closable_popover_title.test.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/components/closable_popover_title.test.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/closable_popover_title.test.tsx diff --git a/x-pack/plugins/observability/public/components/threshold/components/closable_popover_title.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/closable_popover_title.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/components/closable_popover_title.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/closable_popover_title.tsx diff --git a/x-pack/plugins/observability/public/components/threshold/components/criterion_preview_chart/criterion_preview_chart.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/criterion_preview_chart.tsx similarity index 85% rename from x-pack/plugins/observability/public/components/threshold/components/criterion_preview_chart/criterion_preview_chart.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/criterion_preview_chart.tsx index b9a1fc3b93327..a5ed7cd38c580 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/criterion_preview_chart/criterion_preview_chart.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/criterion_preview_chart.tsx @@ -12,24 +12,24 @@ import { i18n } from '@kbn/i18n'; import { EuiLoadingChart, EuiText } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import { sum, min as getMin, max as getMax } from 'lodash'; -import { GetLogAlertsChartPreviewDataSuccessResponsePayload } from '../../../../../common/threshold_rule/types'; -import { formatNumber } from '../../../../../common/threshold_rule/formatters/number'; +import { GetLogAlertsChartPreviewDataSuccessResponsePayload } from '../../../../../common/custom_threshold_rule/types'; +import { formatNumber } from '../../../../../common/custom_threshold_rule/formatters/number'; type Series = GetLogAlertsChartPreviewDataSuccessResponsePayload['data']['series']; export const NUM_BUCKETS = 20; export const TIME_LABELS = { - s: i18n.translate('xpack.observability.threshold.rule..timeLabels.seconds', { + s: i18n.translate('xpack.observability.customThreshold.rule..timeLabels.seconds', { defaultMessage: 'seconds', }), - m: i18n.translate('xpack.observability.threshold.rule..timeLabels.minutes', { + m: i18n.translate('xpack.observability.customThreshold.rule..timeLabels.minutes', { defaultMessage: 'minutes', }), - h: i18n.translate('xpack.observability.threshold.rule..timeLabels.hours', { + h: i18n.translate('xpack.observability.customThreshold.rule..timeLabels.hours', { defaultMessage: 'hours', }), - d: i18n.translate('xpack.observability.threshold.rule..timeLabels.days', { + d: i18n.translate('xpack.observability.customThreshold.rule..timeLabels.days', { defaultMessage: 'days', }), }; @@ -109,7 +109,7 @@ export function NoDataState() { <EmptyContainer> <EuiText color="subdued" data-test-subj="thresholdRuleNoChartData"> <FormattedMessage - id="xpack.observability.threshold.rule..charts.noDataMessage" + id="xpack.observability.customThreshold.rule..charts.noDataMessage" defaultMessage="No chart data available" /> </EuiText> @@ -132,7 +132,7 @@ export function ErrorState() { <EmptyContainer> <EuiText color="subdued" data-test-subj="thresholdRuleChartErrorState"> <FormattedMessage - id="xpack.observability.threshold.rule..charts.errorMessage" + id="xpack.observability.customThreshold.rule..charts.errorMessage" defaultMessage="Uh oh, something went wrong" /> </EuiText> diff --git a/x-pack/plugins/observability/public/components/threshold/components/criterion_preview_chart/threshold_annotations.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.test.tsx similarity index 96% rename from x-pack/plugins/observability/public/components/threshold/components/criterion_preview_chart/threshold_annotations.test.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.test.tsx index c07e053374644..a8e64ac343a0f 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/criterion_preview_chart/threshold_annotations.test.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.test.tsx @@ -4,8 +4,8 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { Color } from '../../../../../common/threshold_rule/color_palette'; -import { Comparator } from '../../../../../common/threshold_rule/types'; +import { Color } from '../../../../../common/custom_threshold_rule/color_palette'; +import { Comparator } from '../../../../../common/custom_threshold_rule/types'; import { shallow } from 'enzyme'; import React from 'react'; diff --git a/x-pack/plugins/observability/public/components/threshold/components/criterion_preview_chart/threshold_annotations.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.tsx similarity index 95% rename from x-pack/plugins/observability/public/components/threshold/components/criterion_preview_chart/threshold_annotations.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.tsx index 09bd7e21fdc10..e911eba6ad6c8 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/criterion_preview_chart/threshold_annotations.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/criterion_preview_chart/threshold_annotations.tsx @@ -7,8 +7,8 @@ import { AnnotationDomainType, LineAnnotation, RectAnnotation } from '@elastic/charts'; import { first, last } from 'lodash'; import React from 'react'; -import { Color, colorTransformer } from '../../../../../common/threshold_rule/color_palette'; -import { Comparator } from '../../../../../common/threshold_rule/types'; +import { Color, colorTransformer } from '../../../../../common/custom_threshold_rule/color_palette'; +import { Comparator } from '../../../../../common/custom_threshold_rule/types'; interface ThresholdAnnotationsProps { threshold: number[]; diff --git a/x-pack/plugins/observability/public/components/threshold/components/custom_equation/custom_equation_editor.stories.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.stories.tsx similarity index 98% rename from x-pack/plugins/observability/public/components/threshold/components/custom_equation/custom_equation_editor.stories.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.stories.tsx index f7480aa1de513..f58894e7918d9 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/custom_equation/custom_equation_editor.stories.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.stories.tsx @@ -13,7 +13,7 @@ import { Aggregators, Comparator, MetricExpressionParams, -} from '../../../../../common/threshold_rule/types'; +} from '../../../../../common/custom_threshold_rule/types'; import { TimeUnitChar } from '../../../../../common'; import { CustomEquationEditor, CustomEquationEditorProps } from './custom_equation_editor'; diff --git a/x-pack/plugins/observability/public/components/threshold/components/custom_equation/custom_equation_editor.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.tsx similarity index 92% rename from x-pack/plugins/observability/public/components/threshold/components/custom_equation/custom_equation_editor.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.tsx index ed3dc975b2d07..d41f5d5b0b85b 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/custom_equation/custom_equation_editor.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/custom_equation_editor.tsx @@ -21,12 +21,12 @@ import { IErrorObject } from '@kbn/triggers-actions-ui-plugin/public'; import { FormattedMessage } from '@kbn/i18n-react'; import { DataViewBase } from '@kbn/es-query'; import { i18n } from '@kbn/i18n'; -import { OMITTED_AGGREGATIONS_FOR_CUSTOM_METRICS } from '../../../../../common/threshold_rule/metrics_explorer'; +import { OMITTED_AGGREGATIONS_FOR_CUSTOM_METRICS } from '../../../../../common/custom_threshold_rule/metrics_explorer'; import { Aggregators, CustomMetricAggTypes, CustomThresholdExpressionMetric, -} from '../../../../../common/threshold_rule/types'; +} from '../../../../../common/custom_threshold_rule/types'; import { MetricExpression } from '../../types'; import { CustomMetrics, AggregationTypes, NormalizedFields } from './types'; @@ -148,7 +148,7 @@ export function CustomEquationEditor({ isDisabled={disableAdd} > <FormattedMessage - id="xpack.observability.threshold.rule.alertFlyout.customEquationEditor.addCustomRow" + id="xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.addCustomRow" defaultMessage="Add aggregation/field" /> </EuiButtonEmpty> @@ -160,7 +160,7 @@ export function CustomEquationEditor({ <EuiFormRow fullWidth label={i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.equationAndThreshold', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.equationAndThreshold', { defaultMessage: 'Equation and threshold' } )} error={[errors.equation]} @@ -171,7 +171,7 @@ export function CustomEquationEditor({ <EuiExpression data-test-subj="customEquation" description={i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.equationLabel', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.equationLabel', { defaultMessage: 'Equation' } )} value={equation ?? placeholder} @@ -196,13 +196,13 @@ export function CustomEquationEditor({ <ClosablePopoverTitle onClose={() => setCustomEqPopoverOpen(false)}> <span> <FormattedMessage - id="xpack.observability.threshold.rule.alertFlyout.customEquationLabel" + id="xpack.observability.customThreshold.rule.alertFlyout.customEquationLabel" defaultMessage="Custom equation" />   <EuiIconTip content={i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationTooltip', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationTooltip', { defaultMessage: 'This supports basic math (A + B / C) and boolean logic (A < B ? A : B).', diff --git a/x-pack/plugins/observability/public/components/threshold/components/custom_equation/index.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/index.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/components/custom_equation/index.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/index.tsx diff --git a/x-pack/plugins/observability/public/components/threshold/components/custom_equation/metric_row_controls.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/metric_row_controls.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/components/custom_equation/metric_row_controls.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/metric_row_controls.tsx diff --git a/x-pack/plugins/observability/public/components/threshold/components/custom_equation/metric_row_with_agg.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/metric_row_with_agg.tsx similarity index 91% rename from x-pack/plugins/observability/public/components/threshold/components/custom_equation/metric_row_with_agg.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/metric_row_with_agg.tsx index 7d8ab629e6e16..ebfdf0e979fc3 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/custom_equation/metric_row_with_agg.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/metric_row_with_agg.tsx @@ -21,7 +21,10 @@ import { i18n } from '@kbn/i18n'; import { ValidNormalizedTypes } from '@kbn/triggers-actions-ui-plugin/public'; import { DataViewBase } from '@kbn/es-query'; import { FormattedMessage } from '@kbn/i18n-react'; -import { Aggregators, CustomMetricAggTypes } from '../../../../../common/threshold_rule/types'; +import { + Aggregators, + CustomMetricAggTypes, +} from '../../../../../common/custom_threshold_rule/types'; import { MetricRowControls } from './metric_row_controls'; import { NormalizedFields, MetricRowBaseProps } from './types'; import { ClosablePopoverTitle } from '../closable_popover_title'; @@ -115,7 +118,7 @@ export function MetricRowWithAgg({ <EuiFormRow fullWidth label={i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.aggregationLabel', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.aggregationLabel', { defaultMessage: 'Aggregation {name}', values: { name } } )} isInvalid={aggType !== Aggregators.COUNT && !field} @@ -144,7 +147,7 @@ export function MetricRowWithAgg({ <div> <ClosablePopoverTitle onClose={() => setAggTypePopoverOpen(false)}> <FormattedMessage - id="xpack.observability.threshold.rule.alertFlyout.customEquationEditor.aggregationLabel" + id="xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.aggregationLabel" defaultMessage="Aggregation {name}" values={{ name }} /> @@ -154,7 +157,7 @@ export function MetricRowWithAgg({ <EuiFlexItem grow> <EuiFormRow label={i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.aggregationType', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.aggregationType', { defaultMessage: 'Aggregation type' } )} isInvalid={isAggInvalid} @@ -180,7 +183,7 @@ export function MetricRowWithAgg({ {aggType === Aggregators.COUNT ? ( <EuiFormRow label={i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.filterLabel', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.filterLabel', { defaultMessage: 'KQL Filter {name}', values: { name } } )} > @@ -195,7 +198,7 @@ export function MetricRowWithAgg({ ) : ( <EuiFormRow label={i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.fieldLabel', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.fieldLabel', { defaultMessage: 'Field name' } )} isInvalid={isFieldInvalid} diff --git a/x-pack/plugins/observability/public/components/threshold/components/custom_equation/types.ts b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/types.ts similarity index 96% rename from x-pack/plugins/observability/public/components/threshold/components/custom_equation/types.ts rename to x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/types.ts index d7c4096753763..6d1c5184b04f5 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/custom_equation/types.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_equation/types.ts @@ -5,7 +5,7 @@ * 2.0. */ import { AggregationType, IErrorObject } from '@kbn/triggers-actions-ui-plugin/public'; -import { CustomThresholdExpressionMetric } from '../../../../../common/threshold_rule/types'; +import { CustomThresholdExpressionMetric } from '../../../../../common/custom_threshold_rule/types'; import { MetricExpression } from '../../types'; export type CustomMetrics = MetricExpression['metrics']; diff --git a/x-pack/plugins/observability/public/components/threshold/components/threshold.stories.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx similarity index 88% rename from x-pack/plugins/observability/public/components/threshold/components/threshold.stories.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx index df4242d5ebe36..8e1e6b590e601 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/threshold.stories.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.stories.tsx @@ -10,8 +10,8 @@ import { ComponentMeta } from '@storybook/react'; import { LIGHT_THEME } from '@elastic/charts'; import { EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; -import { Comparator } from '../../../../common/threshold_rule/types'; -import { Props, Threshold as Component } from './threshold'; +import { Comparator } from '../../../../common/custom_threshold_rule/types'; +import { Props, Threshold as Component } from './custom_threshold'; export default { component: Component, diff --git a/x-pack/plugins/observability/public/components/threshold/components/threshold.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.test.tsx similarity index 90% rename from x-pack/plugins/observability/public/components/threshold/components/threshold.test.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.test.tsx index 8aa2e98cf955c..a1d61e0ce28cd 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/threshold.test.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.test.tsx @@ -9,9 +9,9 @@ import { LIGHT_THEME } from '@elastic/charts'; import { EUI_CHARTS_THEME_LIGHT } from '@elastic/eui/dist/eui_charts_theme'; import { render } from '@testing-library/react'; -import { Props, Threshold } from './threshold'; +import { Props, Threshold } from './custom_threshold'; import React from 'react'; -import { Comparator } from '../../../../common/threshold_rule/types'; +import { Comparator } from '../../../../common/custom_threshold_rule/types'; describe('Threshold', () => { const renderComponent = (props: Partial<Props> = {}) => { diff --git a/x-pack/plugins/observability/public/components/threshold/components/threshold.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.tsx similarity index 81% rename from x-pack/plugins/observability/public/components/threshold/components/threshold.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.tsx index 28ae78cdccf27..0dd80826899b0 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/threshold.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/custom_threshold.tsx @@ -10,7 +10,7 @@ import { Chart, Metric, Settings } from '@elastic/charts'; import { EuiIcon, EuiPanel, useEuiBackgroundColor } from '@elastic/eui'; import type { PartialTheme, Theme } from '@elastic/charts'; import { i18n } from '@kbn/i18n'; -import { Comparator } from '../../../../common/threshold_rule/types'; +import { Comparator } from '../../../../common/custom_threshold_rule/types'; export interface ChartProps { theme: PartialTheme; @@ -60,10 +60,13 @@ export function Threshold({ title, extra: ( <span> - {i18n.translate('xpack.observability.threshold.rule.thresholdExtraTitle', { - values: { comparator, threshold: valueFormatter(threshold) }, - defaultMessage: `Alert when {comparator} {threshold}`, - })} + {i18n.translate( + 'xpack.observability.customThreshold.rule.thresholdExtraTitle', + { + values: { comparator, threshold: valueFormatter(threshold) }, + defaultMessage: `Alert when {comparator} {threshold}`, + } + )} </span> ), color, diff --git a/x-pack/plugins/observability/public/components/threshold/components/expression_chart.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/expression_chart.test.tsx similarity index 96% rename from x-pack/plugins/observability/public/components/threshold/components/expression_chart.test.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/expression_chart.test.tsx index 83c05b5694030..e9d6d2c726665 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/expression_chart.test.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/expression_chart.test.tsx @@ -14,7 +14,7 @@ import { mountWithIntl, nextTick } from '@kbn/test-jest-helpers'; import { coreMock as mockCoreMock } from '@kbn/core/public/mocks'; import { MetricExpression } from '../types'; import { ExpressionChart } from './expression_chart'; -import { Aggregators, Comparator } from '../../../../common/threshold_rule/types'; +import { Aggregators, Comparator } from '../../../../common/custom_threshold_rule/types'; const mockStartServices = mockCoreMock.createStart(); diff --git a/x-pack/plugins/observability/public/components/threshold/components/expression_chart.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/expression_chart.tsx similarity index 94% rename from x-pack/plugins/observability/public/components/threshold/components/expression_chart.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/expression_chart.tsx index 4172175a3b573..8dcb31dd96be5 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/expression_chart.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/expression_chart.tsx @@ -27,12 +27,12 @@ import { useKibana } from '../../../utils/kibana_react'; import { MetricsExplorerAggregation, MetricsExplorerRow, -} from '../../../../common/threshold_rule/metrics_explorer'; -import { Color } from '../../../../common/threshold_rule/color_palette'; +} from '../../../../common/custom_threshold_rule/metrics_explorer'; +import { Color } from '../../../../common/custom_threshold_rule/color_palette'; import { MetricsExplorerChartType, MetricsExplorerOptionsMetric, -} from '../../../../common/threshold_rule/types'; +} from '../../../../common/custom_threshold_rule/types'; import { MetricExpression, TimeRange } from '../types'; import { createFormatterForMetric } from '../helpers/create_formatter_for_metric'; import { useMetricsExplorerChartData } from '../hooks/use_metrics_explorer_chart_data'; @@ -213,7 +213,7 @@ export function ExpressionChart({ {series.id !== 'ALL' ? ( <EuiText size="xs" color="subdued"> <FormattedMessage - id="xpack.observability.threshold.rule.alerts.dataTimeRangeLabelWithGrouping" + id="xpack.observability.customThreshold.rule.alerts.dataTimeRangeLabelWithGrouping" defaultMessage="Last {lookback} {timeLabel} of data for {id}" values={{ id: series.id, timeLabel, lookback: timeSize! * 20 }} /> @@ -221,7 +221,7 @@ export function ExpressionChart({ ) : ( <EuiText size="xs" color="subdued"> <FormattedMessage - id="xpack.observability.threshold.rule.alerts.dataTimeRangeLabel" + id="xpack.observability.customThreshold.rule.alerts.dataTimeRangeLabel" defaultMessage="Last {lookback} {timeLabel}" values={{ timeLabel, lookback: timeSize! * 20 }} /> diff --git a/x-pack/plugins/observability/public/components/threshold/components/expression_row.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/expression_row.test.tsx similarity index 97% rename from x-pack/plugins/observability/public/components/threshold/components/expression_row.test.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/expression_row.test.tsx index 7a7536849c187..ed0c4c52f772c 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/expression_row.test.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/expression_row.test.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { Comparator } from '../../../../common/threshold_rule/types'; +import { Comparator } from '../../../../common/custom_threshold_rule/types'; import { mountWithIntl, nextTick } from '@kbn/test-jest-helpers'; import React from 'react'; import { act } from 'react-dom/test-utils'; diff --git a/x-pack/plugins/observability/public/components/threshold/components/expression_row.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/expression_row.tsx similarity index 82% rename from x-pack/plugins/observability/public/components/threshold/components/expression_row.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/expression_row.tsx index df8c7916ecba7..e508977658c0c 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/expression_row.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/expression_row.tsx @@ -24,7 +24,7 @@ import { } from '@kbn/triggers-actions-ui-plugin/public'; import { DataViewBase } from '@kbn/es-query'; import { debounce } from 'lodash'; -import { Comparator } from '../../../../common/threshold_rule/types'; +import { Comparator } from '../../../../common/custom_threshold_rule/types'; import { AGGREGATION_TYPES, DerivedIndexPattern, MetricExpression } from '../types'; import { CustomEquationEditor } from './custom_equation'; import { CUSTOM_EQUATION, LABEL_HELP_MESSAGE, LABEL_LABEL } from '../i18n_strings'; @@ -33,7 +33,7 @@ import { decimalToPct, pctToDecimal } from '../helpers/corrected_percent_convert const customComparators = { ...builtInComparators, [Comparator.OUTSIDE_RANGE]: { - text: i18n.translate('xpack.observability.threshold.rule.alertFlyout.outsideRangeLabel', { + text: i18n.translate('xpack.observability.customThreshold.rule.alertFlyout.outsideRangeLabel', { defaultMessage: 'Is not between', }), value: Comparator.OUTSIDE_RANGE, @@ -175,7 +175,7 @@ export const ExpressionRow: React.FC<ExpressionRowProps> = (props) => { <EuiButtonIcon data-test-subj="o11yExpressionRowButton" aria-label={i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.removeCondition', + 'xpack.observability.customThreshold.rule.alertFlyout.removeCondition', { defaultMessage: 'Remove condition', } @@ -234,32 +234,41 @@ const ThresholdElement: React.FC<{ export const aggregationType: { [key: string]: AggregationType } = { avg: { - text: i18n.translate('xpack.observability.threshold.rule.alertFlyout.aggregationText.avg', { - defaultMessage: 'Average', - }), + text: i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.aggregationText.avg', + { + defaultMessage: 'Average', + } + ), fieldRequired: true, validNormalizedTypes: ['number', 'histogram'], value: AGGREGATION_TYPES.AVERAGE, }, max: { - text: i18n.translate('xpack.observability.threshold.rule.alertFlyout.aggregationText.max', { - defaultMessage: 'Max', - }), + text: i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.aggregationText.max', + { + defaultMessage: 'Max', + } + ), fieldRequired: true, validNormalizedTypes: ['number', 'date', 'histogram'], value: AGGREGATION_TYPES.MAX, }, min: { - text: i18n.translate('xpack.observability.threshold.rule.alertFlyout.aggregationText.min', { - defaultMessage: 'Min', - }), + text: i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.aggregationText.min', + { + defaultMessage: 'Min', + } + ), fieldRequired: true, validNormalizedTypes: ['number', 'date', 'histogram'], value: AGGREGATION_TYPES.MIN, }, cardinality: { text: i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.aggregationText.cardinality', + 'xpack.observability.customThreshold.rule.alertFlyout.aggregationText.cardinality', { defaultMessage: 'Cardinality', } @@ -269,41 +278,56 @@ export const aggregationType: { [key: string]: AggregationType } = { validNormalizedTypes: ['number', 'string', 'ip', 'date'], }, rate: { - text: i18n.translate('xpack.observability.threshold.rule.alertFlyout.aggregationText.rate', { - defaultMessage: 'Rate', - }), + text: i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.aggregationText.rate', + { + defaultMessage: 'Rate', + } + ), fieldRequired: false, value: AGGREGATION_TYPES.RATE, validNormalizedTypes: ['number'], }, count: { - text: i18n.translate('xpack.observability.threshold.rule.alertFlyout.aggregationText.count', { - defaultMessage: 'Document count', - }), + text: i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.aggregationText.count', + { + defaultMessage: 'Document count', + } + ), fieldRequired: false, value: AGGREGATION_TYPES.COUNT, validNormalizedTypes: ['number'], }, sum: { - text: i18n.translate('xpack.observability.threshold.rule.alertFlyout.aggregationText.sum', { - defaultMessage: 'Sum', - }), + text: i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.aggregationText.sum', + { + defaultMessage: 'Sum', + } + ), fieldRequired: false, value: AGGREGATION_TYPES.SUM, validNormalizedTypes: ['number', 'histogram'], }, p95: { - text: i18n.translate('xpack.observability.threshold.rule.alertFlyout.aggregationText.p95', { - defaultMessage: '95th Percentile', - }), + text: i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.aggregationText.p95', + { + defaultMessage: '95th Percentile', + } + ), fieldRequired: false, value: AGGREGATION_TYPES.P95, validNormalizedTypes: ['number', 'histogram'], }, p99: { - text: i18n.translate('xpack.observability.threshold.rule.alertFlyout.aggregationText.p99', { - defaultMessage: '99th Percentile', - }), + text: i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.aggregationText.p99', + { + defaultMessage: '99th Percentile', + } + ), fieldRequired: false, value: AGGREGATION_TYPES.P99, validNormalizedTypes: ['number', 'histogram'], diff --git a/x-pack/plugins/observability/public/components/threshold/components/group_by.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/group_by.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/components/group_by.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/group_by.tsx diff --git a/x-pack/plugins/observability/public/components/threshold/components/metrics_alert_dropdown.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/metrics_alert_dropdown.tsx similarity index 80% rename from x-pack/plugins/observability/public/components/threshold/components/metrics_alert_dropdown.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/metrics_alert_dropdown.tsx index 97020ad49a5a4..91b97161f78da 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/metrics_alert_dropdown.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/metrics_alert_dropdown.tsx @@ -44,15 +44,21 @@ export function MetricsAlertDropdown() { const infrastructureAlertsPanel = useMemo( () => ({ id: 1, - title: i18n.translate('xpack.observability.threshold.rule.infrastructureDropdownTitle', { - defaultMessage: 'Infrastructure rules', - }), + title: i18n.translate( + 'xpack.observability.customThreshold.rule.infrastructureDropdownTitle', + { + defaultMessage: 'Infrastructure rules', + } + ), items: [ { 'data-test-subj': 'inventory-alerts-create-rule', - name: i18n.translate('xpack.observability.threshold.rule.createInventoryRuleButton', { - defaultMessage: 'Create inventory rule', - }), + name: i18n.translate( + 'xpack.observability.customThreshold.rule.createInventoryRuleButton', + { + defaultMessage: 'Create inventory rule', + } + ), onClick: () => { closePopover(); setVisibleFlyoutType('inventory'); @@ -66,15 +72,18 @@ export function MetricsAlertDropdown() { const metricsAlertsPanel = useMemo( () => ({ id: 2, - title: i18n.translate('xpack.observability.threshold.rule.metricsDropdownTitle', { + title: i18n.translate('xpack.observability.customThreshold.rule.metricsDropdownTitle', { defaultMessage: 'Metrics rules', }), items: [ { 'data-test-subj': 'metrics-threshold-alerts-create-rule', - name: i18n.translate('xpack.observability.threshold.rule.createThresholdRuleButton', { - defaultMessage: 'Create threshold rule', - }), + name: i18n.translate( + 'xpack.observability.customThreshold.rule.createThresholdRuleButton', + { + defaultMessage: 'Create threshold rule', + } + ), onClick: () => { closePopover(); setVisibleFlyoutType('threshold'); @@ -89,7 +98,7 @@ export function MetricsAlertDropdown() { const manageAlertsMenuItem = useMemo( () => ({ - name: i18n.translate('xpack.observability.threshold.rule.manageRules', { + name: i18n.translate('xpack.observability.customThreshold.rule.manageRules', { defaultMessage: 'Manage rules', }), icon: 'tableOfContents', @@ -105,7 +114,7 @@ export function MetricsAlertDropdown() { { 'data-test-subj': 'inventory-alerts-menu-option', name: i18n.translate( - 'xpack.observability.threshold.rule.infrastructureDropdownMenu', + 'xpack.observability.customThreshold.rule.infrastructureDropdownMenu', { defaultMessage: 'Infrastructure', } @@ -114,7 +123,7 @@ export function MetricsAlertDropdown() { }, { 'data-test-subj': 'metrics-threshold-alerts-menu-option', - name: i18n.translate('xpack.observability.threshold.rule.metricsDropdownMenu', { + name: i18n.translate('xpack.observability.customThreshold.rule.metricsDropdownMenu', { defaultMessage: 'Metrics', }), panel: 2, @@ -130,7 +139,7 @@ export function MetricsAlertDropdown() { [ { id: 0, - title: i18n.translate('xpack.observability.threshold.rule.alertDropdownTitle', { + title: i18n.translate('xpack.observability.customThreshold.rule.alertDropdownTitle', { defaultMessage: 'Alerts and rules', }), items: firstPanelMenuItems, @@ -152,7 +161,7 @@ export function MetricsAlertDropdown() { data-test-subj="thresholdRuleStructure-alerts-and-rules" > <FormattedMessage - id="xpack.observability.threshold.rule.alertsButton" + id="xpack.observability.customThreshold.rule.alertsButton" defaultMessage="Alerts and rules" /> </EuiHeaderLink> diff --git a/x-pack/plugins/observability/public/components/threshold/components/series_chart.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/series_chart.tsx similarity index 93% rename from x-pack/plugins/observability/public/components/threshold/components/series_chart.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/series_chart.tsx index c7716c474b22c..c0e35c85580bc 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/series_chart.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/series_chart.tsx @@ -14,12 +14,12 @@ import { AreaSeriesStyle, BarSeriesStyle, } from '@elastic/charts'; -import { MetricsExplorerSeries } from '../../../../common/threshold_rule/metrics_explorer'; -import { Color, colorTransformer } from '../../../../common/threshold_rule/color_palette'; +import { MetricsExplorerSeries } from '../../../../common/custom_threshold_rule/metrics_explorer'; +import { Color, colorTransformer } from '../../../../common/custom_threshold_rule/color_palette'; import { MetricsExplorerChartType, MetricsExplorerOptionsMetric, -} from '../../../../common/threshold_rule/types'; +} from '../../../../common/custom_threshold_rule/types'; import { getMetricId } from '../helpers/get_metric_id'; import { useKibanaTimeZoneSetting } from '../hooks/use_kibana_time_zone_setting'; diff --git a/x-pack/plugins/observability/public/components/threshold/components/triggers_actions_context.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/triggers_actions_context.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/components/triggers_actions_context.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/triggers_actions_context.tsx diff --git a/x-pack/plugins/observability/public/components/threshold/components/validation.test.ts b/x-pack/plugins/observability/public/components/custom_threshold/components/validation.test.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/components/validation.test.ts rename to x-pack/plugins/observability/public/components/custom_threshold/components/validation.test.ts diff --git a/x-pack/plugins/observability/public/components/threshold/components/validation.tsx b/x-pack/plugins/observability/public/components/custom_threshold/components/validation.tsx similarity index 76% rename from x-pack/plugins/observability/public/components/threshold/components/validation.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/components/validation.tsx index 4f5c818d7943d..d40a1f2852bcc 100644 --- a/x-pack/plugins/observability/public/components/threshold/components/validation.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/components/validation.tsx @@ -15,7 +15,7 @@ import { Comparator, CustomMetricExpressionParams, MetricExpressionParams, -} from '../../../../common/threshold_rule/types'; +} from '../../../../common/custom_threshold_rule/types'; export const EQUATION_REGEX = /[^A-Z|+|\-|\s|\d+|\.|\(|\)|\/|\*|>|<|=|\?|\:|&|\!|\|]+/g; @@ -57,7 +57,7 @@ export function validateMetricThreshold({ if (!searchConfiguration || !searchConfiguration.index) { errors.searchConfiguration = [ i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.error.invalidSearchConfiguration', + 'xpack.observability.customThreshold.rule.alertFlyout.error.invalidSearchConfiguration', { defaultMessage: 'Data view is required.', } @@ -74,9 +74,12 @@ export function validateMetricThreshold({ ); } catch (e) { errors.filterQuery = [ - i18n.translate('xpack.observability.threshold.rule.alertFlyout.error.invalidFilterQuery', { - defaultMessage: 'Filter query is invalid.', - }), + i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.error.invalidFilterQuery', + { + defaultMessage: 'Filter query is invalid.', + } + ), ]; } } @@ -106,25 +109,34 @@ export function validateMetricThreshold({ }; if (!c.aggType) { errors[id].aggField.push( - i18n.translate('xpack.observability.threshold.rule.alertFlyout.error.aggregationRequired', { - defaultMessage: 'Aggregation is required.', - }) + i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.error.aggregationRequired', + { + defaultMessage: 'Aggregation is required.', + } + ) ); } if (!c.threshold || !c.threshold.length) { errors[id].critical.threshold0.push( - i18n.translate('xpack.observability.threshold.rule.alertFlyout.error.thresholdRequired', { - defaultMessage: 'Threshold is required.', - }) + i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.error.thresholdRequired', + { + defaultMessage: 'Threshold is required.', + } + ) ); } if (c.warningThreshold && !c.warningThreshold.length) { errors[id].warning.threshold0.push( - i18n.translate('xpack.observability.threshold.rule.alertFlyout.error.thresholdRequired', { - defaultMessage: 'Threshold is required.', - }) + i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.error.thresholdRequired', + { + defaultMessage: 'Threshold is required.', + } + ) ); } @@ -145,7 +157,7 @@ export function validateMetricThreshold({ const key = i === 0 ? 'threshold0' : 'threshold1'; errors[id][type][key].push( i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.error.thresholdTypeRequired', + 'xpack.observability.customThreshold.rule.alertFlyout.error.thresholdTypeRequired', { defaultMessage: 'Thresholds must contain a valid number.', } @@ -157,16 +169,19 @@ export function validateMetricThreshold({ if (comparator === Comparator.BETWEEN && (!threshold || threshold.length < 2)) { errors[id][type].threshold1.push( - i18n.translate('xpack.observability.threshold.rule.alertFlyout.error.thresholdRequired', { - defaultMessage: 'Threshold is required.', - }) + i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.error.thresholdRequired', + { + defaultMessage: 'Threshold is required.', + } + ) ); } } if (!c.timeSize) { errors[id].timeWindowSize.push( - i18n.translate('xpack.observability.threshold.rule.alertFlyout.error.timeRequred', { + i18n.translate('xpack.observability.customThreshold.rule.alertFlyout.error.timeRequred', { defaultMessage: 'Time size is Required.', }) ); @@ -174,16 +189,19 @@ export function validateMetricThreshold({ if (c.aggType !== 'count' && c.aggType !== 'custom' && !c.metric) { errors[id].metric.push( - i18n.translate('xpack.observability.threshold.rule.alertFlyout.error.metricRequired', { - defaultMessage: 'Metric is required.', - }) + i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.error.metricRequired', + { + defaultMessage: 'Metric is required.', + } + ) ); } if (isCustomMetricExpressionParams(c)) { if (!c.metrics || (c.metrics && c.metrics.length < 1)) { errors[id].metricsError = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.error.metricsError', + 'xpack.observability.customThreshold.rule.alertFlyout.error.metricsError', { defaultMessage: 'You must define at least 1 custom metric', } @@ -193,7 +211,7 @@ export function validateMetricThreshold({ const customMetricErrors: { aggType?: string; field?: string; filter?: string } = {}; if (!metric.aggType) { customMetricErrors.aggType = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.error.metrics.aggTypeRequired', + 'xpack.observability.customThreshold.rule.alertFlyout.error.metrics.aggTypeRequired', { defaultMessage: 'Aggregation is required', } @@ -201,7 +219,7 @@ export function validateMetricThreshold({ } if (metric.aggType !== 'count' && !metric.field) { customMetricErrors.field = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.error.metrics.fieldRequired', + 'xpack.observability.customThreshold.rule.alertFlyout.error.metrics.fieldRequired', { defaultMessage: 'Field is required', } @@ -222,7 +240,7 @@ export function validateMetricThreshold({ if (c.equation && c.equation.match(EQUATION_REGEX)) { errors[id].equation = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.error.equation.invalidCharacters', + 'xpack.observability.customThreshold.rule.alertFlyout.error.equation.invalidCharacters', { defaultMessage: 'The equation field only supports the following characters: A-Z, +, -, /, *, (, ), ?, !, &, :, |, >, <, =', diff --git a/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx similarity index 96% rename from x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.test.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx index e81e695f8cef9..accd48ca969a0 100644 --- a/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.test.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.test.tsx @@ -12,11 +12,11 @@ import { dataViewPluginMocks } from '@kbn/data-views-plugin/public/mocks'; import { queryClient } from '@kbn/osquery-plugin/public/query_client'; import { mountWithIntl, nextTick } from '@kbn/test-jest-helpers'; -import { Comparator } from '../../../common/threshold_rule/types'; -import { MetricsExplorerMetric } from '../../../common/threshold_rule/metrics_explorer'; +import { Comparator } from '../../../common/custom_threshold_rule/types'; +import { MetricsExplorerMetric } from '../../../common/custom_threshold_rule/metrics_explorer'; import { useKibana } from '../../utils/kibana_react'; import { kibanaStartMock } from '../../utils/kibana_react.mock'; -import Expressions from './threshold_rule_expression'; +import Expressions from './custom_threshold_rule_expression'; jest.mock('../../utils/kibana_react'); diff --git a/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx b/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx similarity index 92% rename from x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx index 1e25865147290..761cff54bc961 100644 --- a/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx +++ b/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx @@ -36,7 +36,7 @@ import { } from '@kbn/triggers-actions-ui-plugin/public'; import { useKibana } from '../../utils/kibana_react'; -import { Aggregators, Comparator } from '../../../common/threshold_rule/types'; +import { Aggregators, Comparator } from '../../../common/custom_threshold_rule/types'; import { TimeUnitChar } from '../../../common/utils/formatters/duration'; import { AlertContextMeta, AlertParams, MetricExpression } from './types'; import { ExpressionChart } from './components/expression_chart'; @@ -119,7 +119,7 @@ export default function Expressions(props: Props) { if (!timeFieldName) { setDataViewTimeFieldError( i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.dataViewError.noTimestamp', + 'xpack.observability.customThreshold.rule.alertFlyout.dataViewError.noTimestamp', { defaultMessage: 'The selected data view does not have a timestamp field, please select another data view.', @@ -382,7 +382,7 @@ export default function Expressions(props: Props) { } const placeHolder = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.searchBar.placeholder', + 'xpack.observability.customThreshold.rule.alertFlyout.searchBar.placeholder', { defaultMessage: 'Search for observability data… (e.g. host.name:host-1)', } @@ -393,7 +393,7 @@ export default function Expressions(props: Props) { <EuiTitle size="xs"> <h5> <FormattedMessage - id="xpack.observability.threshold.rule.alertFlyout.selectDataViewPrompt" + id="xpack.observability.customThreshold.rule.alertFlyout.selectDataViewPrompt" defaultMessage="Select a data view" /> </h5> @@ -417,7 +417,7 @@ export default function Expressions(props: Props) { <EuiTitle size="xs"> <h5> <FormattedMessage - id="xpack.observability.threshold.rule.alertFlyout.defineTextQueryPrompt" + id="xpack.observability.customThreshold.rule.alertFlyout.defineTextQueryPrompt" defaultMessage="Define query filter (optional)" /> </h5> @@ -448,7 +448,7 @@ export default function Expressions(props: Props) { <EuiTitle size="xs"> <h5> <FormattedMessage - id="xpack.observability.threshold.rule.alertFlyout.setConditions" + id="xpack.observability.customThreshold.rule.alertFlyout.setConditions" defaultMessage="Set rule conditions" /> </h5> @@ -462,7 +462,7 @@ export default function Expressions(props: Props) { <EuiTitle size="xs"> <h5> <FormattedMessage - id="xpack.observability.threshold.rule.alertFlyout.condition" + id="xpack.observability.customThreshold.rule.alertFlyout.condition" defaultMessage="Condition {conditionNumber}" values={{ conditionNumber: idx + 1 }} /> @@ -514,18 +514,21 @@ export default function Expressions(props: Props) { onClick={addExpression} > <FormattedMessage - id="xpack.observability.threshold.rule.alertFlyout.addCondition" + id="xpack.observability.customThreshold.rule.alertFlyout.addCondition" defaultMessage="Add condition" /> </EuiButtonEmpty> </div> <EuiSpacer size="m" /> <EuiFormRow - label={i18n.translate('xpack.observability.threshold.rule.alertFlyout.createAlertPerText', { - defaultMessage: 'Group alerts by (optional)', - })} + label={i18n.translate( + 'xpack.observability.customThreshold.rule.alertFlyout.createAlertPerText', + { + defaultMessage: 'Group alerts by (optional)', + } + )} helpText={i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.createAlertPerHelpText', + 'xpack.observability.customThreshold.rule.alertFlyout.createAlertPerHelpText', { defaultMessage: 'Create an alert for every unique value. For example: "host.id" or "cloud.region".', @@ -549,7 +552,7 @@ export default function Expressions(props: Props) { <EuiSpacer size="s" /> <EuiText size="xs" color="danger"> <FormattedMessage - id="xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError" + id="xpack.observability.customThreshold.rule.alertFlyout.alertPerRedundantFilterError" defaultMessage="This rule may alert on {matchedGroups} less than expected, because the filter query contains a match for {groupCount, plural, one {this field} other {these fields}}. For more information, refer to {filteringAndGroupingLink}." values={{ matchedGroups: <strong>{redundantFilterGroupBy.join(', ')}</strong>, @@ -560,7 +563,7 @@ export default function Expressions(props: Props) { href={`${docLinks.links.observability.metricsThreshold}#filtering-and-grouping`} > {i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError.docsLink', + 'xpack.observability.customThreshold.rule.alertFlyout.alertPerRedundantFilterError.docsLink', { defaultMessage: 'the docs' } )} </EuiLink> @@ -576,7 +579,7 @@ export default function Expressions(props: Props) { label={ <> {i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.alertOnGroupDisappear', + 'xpack.observability.customThreshold.rule.alertFlyout.alertOnGroupDisappear', { defaultMessage: 'Alert me if a group stops reporting data', } @@ -585,7 +588,7 @@ export default function Expressions(props: Props) { content={ (disableNoData ? `${docCountNoDataDisabledHelpText} ` : '') + i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.groupDisappearHelpText', + 'xpack.observability.customThreshold.rule.alertFlyout.groupDisappearHelpText', { defaultMessage: 'Enable this to trigger the action if a previously detected group begins to report no results. This is not recommended for dynamically scaling infrastructures that may rapidly start and stop nodes automatically.', @@ -607,7 +610,7 @@ export default function Expressions(props: Props) { } const docCountNoDataDisabledHelpText = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.docCountNoDataDisabledHelpText', + 'xpack.observability.customThreshold.rule.alertFlyout.docCountNoDataDisabledHelpText', { defaultMessage: '[This setting is not applicable to the Document Count aggregator.]', } diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/calculate_domain.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/calculate_domain.ts similarity index 92% rename from x-pack/plugins/observability/public/components/threshold/helpers/calculate_domain.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/calculate_domain.ts index 17a3b3eee7726..16d0d54d825c1 100644 --- a/x-pack/plugins/observability/public/components/threshold/helpers/calculate_domain.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/helpers/calculate_domain.ts @@ -6,8 +6,8 @@ */ import { min, max, sum, isNumber } from 'lodash'; -import { MetricsExplorerSeries } from '../../../../common/threshold_rule/metrics_explorer'; -import { MetricsExplorerOptionsMetric } from '../../../../common/threshold_rule/types'; +import { MetricsExplorerSeries } from '../../../../common/custom_threshold_rule/metrics_explorer'; +import { MetricsExplorerOptionsMetric } from '../../../../common/custom_threshold_rule/types'; import { getMetricId } from './get_metric_id'; const getMin = (values: Array<number | null>) => { diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/corrected_percent_convert.test.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/corrected_percent_convert.test.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/helpers/corrected_percent_convert.test.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/corrected_percent_convert.test.ts diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/corrected_percent_convert.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/corrected_percent_convert.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/helpers/corrected_percent_convert.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/corrected_percent_convert.ts diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/create_formatter_for_metric.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/create_formatter_for_metric.ts similarity index 76% rename from x-pack/plugins/observability/public/components/threshold/helpers/create_formatter_for_metric.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/create_formatter_for_metric.ts index 7cb96af683573..1423413e98388 100644 --- a/x-pack/plugins/observability/public/components/threshold/helpers/create_formatter_for_metric.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/helpers/create_formatter_for_metric.ts @@ -6,9 +6,9 @@ */ import numeral from '@elastic/numeral'; -import { InfraFormatterType } from '../../../../common/threshold_rule/types'; -import { createFormatter } from '../../../../common/threshold_rule/formatters'; -import { MetricsExplorerMetric } from '../../../../common/threshold_rule/metrics_explorer'; +import { InfraFormatterType } from '../../../../common/custom_threshold_rule/types'; +import { createFormatter } from '../../../../common/custom_threshold_rule/formatters'; +import { MetricsExplorerMetric } from '../../../../common/custom_threshold_rule/metrics_explorer'; import { metricToFormat } from './metric_to_format'; export const createFormatterForMetric = (metric?: MetricsExplorerMetric) => { diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/create_formatter_for_metrics.test.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/create_formatter_for_metrics.test.ts similarity index 94% rename from x-pack/plugins/observability/public/components/threshold/helpers/create_formatter_for_metrics.test.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/create_formatter_for_metrics.test.ts index 07ed09095a6aa..0da0e765d724a 100644 --- a/x-pack/plugins/observability/public/components/threshold/helpers/create_formatter_for_metrics.test.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/helpers/create_formatter_for_metrics.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { MetricsExplorerMetric } from '../../../../common/threshold_rule/metrics_explorer'; +import { MetricsExplorerMetric } from '../../../../common/custom_threshold_rule/metrics_explorer'; import { createFormatterForMetric } from './create_formatter_for_metric'; describe('createFormatterForMetric()', () => { diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/create_metric_label.test.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/create_metric_label.test.ts similarity index 88% rename from x-pack/plugins/observability/public/components/threshold/helpers/create_metric_label.test.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/create_metric_label.test.ts index f1fe34c377f13..70c4959aafc19 100644 --- a/x-pack/plugins/observability/public/components/threshold/helpers/create_metric_label.test.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/helpers/create_metric_label.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { MetricsExplorerMetric } from '../../../../common/threshold_rule/metrics_explorer'; +import { MetricsExplorerMetric } from '../../../../common/custom_threshold_rule/metrics_explorer'; import { createMetricLabel } from './create_metric_label'; describe('createMetricLabel()', () => { diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/create_metric_label.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/create_metric_label.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/helpers/create_metric_label.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/create_metric_label.ts diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/get_metric_id.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/get_metric_id.ts similarity index 93% rename from x-pack/plugins/observability/public/components/threshold/helpers/get_metric_id.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/get_metric_id.ts index 969ade79e4dda..a60af79ac6e2d 100644 --- a/x-pack/plugins/observability/public/components/threshold/helpers/get_metric_id.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/helpers/get_metric_id.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { MetricsExplorerOptionsMetric } from '../../../../common/threshold_rule/types'; +import { MetricsExplorerOptionsMetric } from '../../../../common/custom_threshold_rule/types'; export const getMetricId = (metric: MetricsExplorerOptionsMetric, index: string | number) => { return `metric_${index}`; diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/kuery.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/kuery.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/helpers/kuery.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/kuery.ts diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/metric_to_format.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/metric_to_format.ts similarity index 80% rename from x-pack/plugins/observability/public/components/threshold/helpers/metric_to_format.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/metric_to_format.ts index 0ed004793b296..2a7d28b72b7c7 100644 --- a/x-pack/plugins/observability/public/components/threshold/helpers/metric_to_format.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/helpers/metric_to_format.ts @@ -6,8 +6,8 @@ */ import { last } from 'lodash'; -import { InfraFormatterType } from '../../../../common/threshold_rule/types'; -import { MetricsExplorerMetric } from '../../../../common/threshold_rule/metrics_explorer'; +import { InfraFormatterType } from '../../../../common/custom_threshold_rule/types'; +import { MetricsExplorerMetric } from '../../../../common/custom_threshold_rule/metrics_explorer'; export const metricToFormat = (metric?: MetricsExplorerMetric) => { if (metric && metric.field) { diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/notifications.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/notifications.ts similarity index 69% rename from x-pack/plugins/observability/public/components/threshold/helpers/notifications.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/notifications.ts index 914333439f426..bc840a206ac64 100644 --- a/x-pack/plugins/observability/public/components/threshold/helpers/notifications.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/helpers/notifications.ts @@ -15,16 +15,19 @@ export const useSourceNotifier = () => { notifications.toasts.danger({ toastLifeTimeMs: 3000, title: i18n.translate( - 'xpack.observability.threshold.rule.sourceConfiguration.updateFailureTitle', + 'xpack.observability.customThreshold.rule.sourceConfiguration.updateFailureTitle', { defaultMessage: 'Configuration update failed', } ), body: [ - i18n.translate('xpack.observability.threshold.rule.sourceConfiguration.updateFailureBody', { - defaultMessage: - "We couldn't apply the changes to the Metrics configuration. Try again later.", - }), + i18n.translate( + 'xpack.observability.customThreshold.rule.sourceConfiguration.updateFailureBody', + { + defaultMessage: + "We couldn't apply the changes to the Metrics configuration. Try again later.", + } + ), message, ] .filter(Boolean) @@ -36,7 +39,7 @@ export const useSourceNotifier = () => { notifications.toasts.success({ toastLifeTimeMs: 3000, title: i18n.translate( - 'xpack.observability.threshold.rule.sourceConfiguration.updateSuccessTitle', + 'xpack.observability.customThreshold.rule.sourceConfiguration.updateSuccessTitle', { defaultMessage: 'Metrics settings successfully updated', } diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/runtime_types.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/runtime_types.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/helpers/runtime_types.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/runtime_types.ts diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/source_errors.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/source_errors.ts similarity index 89% rename from x-pack/plugins/observability/public/components/threshold/helpers/source_errors.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/source_errors.ts index 45cbbad7d3e3a..3ab64f1aac0bb 100644 --- a/x-pack/plugins/observability/public/components/threshold/helpers/source_errors.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/helpers/source_errors.ts @@ -8,7 +8,7 @@ import { i18n } from '@kbn/i18n'; const missingHttpMessage = i18n.translate( - 'xpack.observability.threshold.rule.sourceConfiguration.missingHttp', + 'xpack.observability.customThreshold.rule.sourceConfiguration.missingHttp', { defaultMessage: 'Failed to load source: No HTTP client available.', } diff --git a/x-pack/plugins/observability/public/components/threshold/helpers/use_alert_prefill.ts b/x-pack/plugins/observability/public/components/custom_threshold/helpers/use_alert_prefill.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/helpers/use_alert_prefill.ts rename to x-pack/plugins/observability/public/components/custom_threshold/helpers/use_alert_prefill.ts diff --git a/x-pack/plugins/observability/public/components/threshold/hooks/use_kibana_time_zone_setting.ts b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_kibana_time_zone_setting.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/hooks/use_kibana_time_zone_setting.ts rename to x-pack/plugins/observability/public/components/custom_threshold/hooks/use_kibana_time_zone_setting.ts diff --git a/x-pack/plugins/observability/public/components/threshold/hooks/use_kibana_timefilter_time.tsx b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_kibana_timefilter_time.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/hooks/use_kibana_timefilter_time.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/hooks/use_kibana_timefilter_time.tsx diff --git a/x-pack/plugins/observability/public/components/threshold/hooks/use_metric_threshold_alert_prefill.ts b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metric_threshold_alert_prefill.ts similarity index 91% rename from x-pack/plugins/observability/public/components/threshold/hooks/use_metric_threshold_alert_prefill.ts rename to x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metric_threshold_alert_prefill.ts index 86262d0f272c2..6314ddb20a115 100644 --- a/x-pack/plugins/observability/public/components/threshold/hooks/use_metric_threshold_alert_prefill.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metric_threshold_alert_prefill.ts @@ -7,7 +7,7 @@ import { isEqual } from 'lodash'; import { useState } from 'react'; -import { MetricsExplorerMetric } from '../../../../common/threshold_rule/metrics_explorer'; +import { MetricsExplorerMetric } from '../../../../common/custom_threshold_rule/metrics_explorer'; export interface MetricThresholdPrefillOptions { groupBy: string | string[] | undefined; diff --git a/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_chart_data.ts b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_chart_data.ts similarity index 97% rename from x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_chart_data.ts rename to x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_chart_data.ts index 26924ff0d3d8e..ef810bc8857d9 100644 --- a/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_chart_data.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_chart_data.ts @@ -8,8 +8,8 @@ import DateMath from '@kbn/datemath'; import { DataViewBase } from '@kbn/es-query'; import { useMemo } from 'react'; -import { MetricExplorerCustomMetricAggregations } from '../../../../common/threshold_rule/metrics_explorer'; -import { CustomThresholdExpressionMetric } from '../../../../common/threshold_rule/types'; +import { MetricExplorerCustomMetricAggregations } from '../../../../common/custom_threshold_rule/metrics_explorer'; +import { CustomThresholdExpressionMetric } from '../../../../common/custom_threshold_rule/types'; import { MetricExpression, TimeRange } from '../types'; import { useMetricsExplorerData } from './use_metrics_explorer_data'; diff --git a/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.test.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.test.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.test.tsx diff --git a/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts similarity index 97% rename from x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts rename to x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts index 2e01d72572fb8..59857990b906e 100644 --- a/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts @@ -12,7 +12,7 @@ import { useKibana } from '@kbn/kibana-react-plugin/public'; import { MetricsExplorerResponse, metricsExplorerResponseRT, -} from '../../../../common/threshold_rule/metrics_explorer'; +} from '../../../../common/custom_threshold_rule/metrics_explorer'; import { MetricsExplorerOptions, diff --git a/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_options.test.tsx b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_options.test.tsx similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_options.test.tsx rename to x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_options.test.tsx diff --git a/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_options.ts b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_options.ts similarity index 97% rename from x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_options.ts rename to x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_options.ts index a23bed69d9f43..7d734a961b04e 100644 --- a/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_options.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_options.ts @@ -12,8 +12,8 @@ import createContainer from 'constate'; import type { TimeRange } from '@kbn/es-query'; import { useState, useEffect, useMemo, Dispatch, SetStateAction } from 'react'; -import { metricsExplorerMetricRT } from '../../../../common/threshold_rule/metrics_explorer'; -import { Color } from '../../../../common/threshold_rule/color_palette'; +import { metricsExplorerMetricRT } from '../../../../common/custom_threshold_rule/metrics_explorer'; +import { Color } from '../../../../common/custom_threshold_rule/color_palette'; import { useAlertPrefillContext } from '../helpers/use_alert_prefill'; import { useKibanaTimefilterTime, useSyncKibanaTimeFilterTime } from './use_kibana_timefilter_time'; diff --git a/x-pack/plugins/observability/public/components/threshold/hooks/use_tracked_promise.ts b/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_tracked_promise.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/hooks/use_tracked_promise.ts rename to x-pack/plugins/observability/public/components/custom_threshold/hooks/use_tracked_promise.ts diff --git a/x-pack/plugins/observability/public/components/threshold/i18n_strings.ts b/x-pack/plugins/observability/public/components/custom_threshold/i18n_strings.ts similarity index 65% rename from x-pack/plugins/observability/public/components/threshold/i18n_strings.ts rename to x-pack/plugins/observability/public/components/custom_threshold/i18n_strings.ts index 0c480fbb9fb28..cca654da08a09 100644 --- a/x-pack/plugins/observability/public/components/threshold/i18n_strings.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/i18n_strings.ts @@ -8,7 +8,7 @@ import { i18n } from '@kbn/i18n'; export const EQUATION_HELP_MESSAGE = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.equationHelpMessage', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.equationHelpMessage', { defaultMessage: 'Supports basic math equations, valid charaters are: A-Z, +, -, /, *, (, ), ?, !, &, :, |, >, <, =', @@ -16,32 +16,32 @@ export const EQUATION_HELP_MESSAGE = i18n.translate( ); export const LABEL_LABEL = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelLabel', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.labelLabel', { defaultMessage: 'Label (optional)' } ); export const LABEL_HELP_MESSAGE = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelHelpMessage', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.labelHelpMessage', { defaultMessage: 'Custom label will show on the alert chart and in reason', } ); export const CUSTOM_EQUATION = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquation', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquation', { defaultMessage: 'Custom equation', } ); export const DELETE_LABEL = i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.deleteRowButton', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.deleteRowButton', { defaultMessage: 'Delete' } ); export const AGGREGATION_LABEL = (name: string) => i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.customEquationEditor.aggregationLabel', + 'xpack.observability.customThreshold.rule.alertFlyout.customEquationEditor.aggregationLabel', { defaultMessage: 'Aggregation {name}', values: { name }, diff --git a/x-pack/plugins/observability/public/components/threshold/lib/generate_unique_key.test.ts b/x-pack/plugins/observability/public/components/custom_threshold/lib/generate_unique_key.test.ts similarity index 93% rename from x-pack/plugins/observability/public/components/threshold/lib/generate_unique_key.test.ts rename to x-pack/plugins/observability/public/components/custom_threshold/lib/generate_unique_key.test.ts index bafdf5f235467..f6b20963ccb00 100644 --- a/x-pack/plugins/observability/public/components/threshold/lib/generate_unique_key.test.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/lib/generate_unique_key.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { Aggregators, Comparator } from '../../../../common/threshold_rule/types'; +import { Aggregators, Comparator } from '../../../../common/custom_threshold_rule/types'; import { MetricExpression } from '../types'; import { generateUniqueKey } from './generate_unique_key'; diff --git a/x-pack/plugins/observability/public/components/threshold/lib/generate_unique_key.ts b/x-pack/plugins/observability/public/components/custom_threshold/lib/generate_unique_key.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/lib/generate_unique_key.ts rename to x-pack/plugins/observability/public/components/custom_threshold/lib/generate_unique_key.ts diff --git a/x-pack/plugins/observability/public/components/threshold/lib/transform_metrics_explorer_data.ts b/x-pack/plugins/observability/public/components/custom_threshold/lib/transform_metrics_explorer_data.ts similarity index 91% rename from x-pack/plugins/observability/public/components/threshold/lib/transform_metrics_explorer_data.ts rename to x-pack/plugins/observability/public/components/custom_threshold/lib/transform_metrics_explorer_data.ts index 5fc221afca80f..2a30136924420 100644 --- a/x-pack/plugins/observability/public/components/threshold/lib/transform_metrics_explorer_data.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/lib/transform_metrics_explorer_data.ts @@ -6,7 +6,7 @@ */ import { first } from 'lodash'; -import { MetricsExplorerResponse } from '../../../../common/threshold_rule/metrics_explorer'; +import { MetricsExplorerResponse } from '../../../../common/custom_threshold_rule/metrics_explorer'; import { MetricThresholdAlertParams, ExpressionChartSeries } from '../types'; export const transformMetricsExplorerData = ( diff --git a/x-pack/plugins/observability/public/components/threshold/mocks/metric_threshold_rule.ts b/x-pack/plugins/observability/public/components/custom_threshold/mocks/metric_threshold_rule.ts similarity index 93% rename from x-pack/plugins/observability/public/components/threshold/mocks/metric_threshold_rule.ts rename to x-pack/plugins/observability/public/components/custom_threshold/mocks/metric_threshold_rule.ts index 478d27484df0d..810ff3c1f5983 100644 --- a/x-pack/plugins/observability/public/components/threshold/mocks/metric_threshold_rule.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/mocks/metric_threshold_rule.ts @@ -6,7 +6,7 @@ */ import { v4 as uuidv4 } from 'uuid'; -import { Aggregators, Comparator } from '../../../../common/threshold_rule/types'; +import { Aggregators, Comparator } from '../../../../common/custom_threshold_rule/types'; import { MetricThresholdAlert, MetricThresholdRule } from '../components/alert_details_app_section'; @@ -159,18 +159,18 @@ export const buildMetricThresholdAlert = ( alertOnGroupDisappear: true, }, 'kibana.alert.evaluation.values': [2500, 5], - 'kibana.alert.rule.category': 'Metric threshold', + 'kibana.alert.rule.category': 'Custom threshold (BETA)', 'kibana.alert.rule.consumer': 'alerts', 'kibana.alert.rule.execution.uuid': '62dd07ef-ead9-4b1f-a415-7c83d03925f7', 'kibana.alert.rule.name': 'One condition', - 'kibana.alert.rule.producer': 'infrastructure', - 'kibana.alert.rule.rule_type_id': 'metrics.alert.threshold', + 'kibana.alert.rule.producer': 'observability', + 'kibana.alert.rule.rule_type_id': 'observability.rules.custom_threshold', 'kibana.alert.rule.uuid': '3a1ed8c0-c1a8-11ed-9249-ed6d75986bdc', 'kibana.space_ids': ['default'], 'kibana.alert.rule.tags': [], '@timestamp': '2023-03-28T14:40:00.000Z', 'kibana.alert.reason': 'system.cpu.user.pct reported no data in the last 1m for ', - 'kibana.alert.action_group': 'metrics.threshold.nodata', + 'kibana.alert.action_group': 'custom_threshold.nodata', tags: [], 'kibana.alert.duration.us': 248391946000, 'kibana.alert.time_range': { diff --git a/x-pack/plugins/observability/public/components/threshold/rule_data_formatters.ts b/x-pack/plugins/observability/public/components/custom_threshold/rule_data_formatters.ts similarity index 100% rename from x-pack/plugins/observability/public/components/threshold/rule_data_formatters.ts rename to x-pack/plugins/observability/public/components/custom_threshold/rule_data_formatters.ts diff --git a/x-pack/plugins/observability/public/components/threshold/types.ts b/x-pack/plugins/observability/public/components/custom_threshold/types.ts similarity index 97% rename from x-pack/plugins/observability/public/components/threshold/types.ts rename to x-pack/plugins/observability/public/components/custom_threshold/types.ts index 6336c3f292677..d0b173b4d7c34 100644 --- a/x-pack/plugins/observability/public/components/threshold/types.ts +++ b/x-pack/plugins/observability/public/components/custom_threshold/types.ts @@ -25,7 +25,7 @@ import { UiActionsStart } from '@kbn/ui-actions-plugin/public'; import { UnifiedSearchPublicPluginStart } from '@kbn/unified-search-plugin/public'; import { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; import { TimeUnitChar } from '../../../common/utils/formatters'; -import { MetricsExplorerSeries } from '../../../common/threshold_rule/metrics_explorer'; +import { MetricsExplorerSeries } from '../../../common/custom_threshold_rule/metrics_explorer'; import { Comparator, CustomMetricExpressionParams, @@ -33,7 +33,7 @@ import { MetricsSourceStatus, NonCountMetricExpressionParams, SnapshotCustomMetricInput, -} from '../../../common/threshold_rule/types'; +} from '../../../common/custom_threshold_rule/types'; import { ObservabilityPublicStart } from '../../plugin'; import { MetricsExplorerOptions } from './hooks/use_metrics_explorer_options'; diff --git a/x-pack/plugins/observability/public/components/rule_kql_filter/with_kuery_autocompletion.tsx b/x-pack/plugins/observability/public/components/rule_kql_filter/with_kuery_autocompletion.tsx index 86a9300e98aa0..2325434a08234 100644 --- a/x-pack/plugins/observability/public/components/rule_kql_filter/with_kuery_autocompletion.tsx +++ b/x-pack/plugins/observability/public/components/rule_kql_filter/with_kuery_autocompletion.tsx @@ -14,7 +14,7 @@ import { } from '@kbn/kibana-react-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; import { QuerySuggestion } from '@kbn/unified-search-plugin/public'; -import { InfraClientStartDeps, RendererFunction } from '../threshold/types'; +import { InfraClientStartDeps, RendererFunction } from '../custom_threshold/types'; interface WithKueryAutocompletionLifecycleProps { kibana: KibanaReactContextValue<InfraClientStartDeps & KibanaServices>; diff --git a/x-pack/plugins/observability/public/rules/register_observability_rule_types.ts b/x-pack/plugins/observability/public/rules/register_observability_rule_types.ts index c06bd84e02c77..e7195dfad76ac 100644 --- a/x-pack/plugins/observability/public/rules/register_observability_rule_types.ts +++ b/x-pack/plugins/observability/public/rules/register_observability_rule_types.ts @@ -17,8 +17,8 @@ import { SLO_BURN_RATE_RULE_TYPE_ID, } from '../../common/constants'; import { validateBurnRateRule } from '../components/burn_rate_rule_editor/validation'; -import { validateMetricThreshold } from '../components/threshold/components/validation'; -import { formatReason } from '../components/threshold/rule_data_formatters'; +import { validateMetricThreshold } from '../components/custom_threshold/components/validation'; +import { formatReason } from '../components/custom_threshold/rule_data_formatters'; const sloBurnRateDefaultActionMessage = i18n.translate( 'xpack.observability.slo.rules.burnRate.defaultActionMessage', @@ -54,7 +54,7 @@ const sloBurnRateDefaultRecoveryMessage = i18n.translate( ); const thresholdDefaultActionMessage = i18n.translate( - 'xpack.observability.threshold.rule.alerting.threshold.defaultActionMessage', + 'xpack.observability.customThreshold.rule.alerting.threshold.defaultActionMessage', { defaultMessage: `\\{\\{context.reason\\}\\} @@ -65,7 +65,7 @@ const thresholdDefaultActionMessage = i18n.translate( } ); const thresholdDefaultRecoveryMessage = i18n.translate( - 'xpack.observability.threshold.rule.alerting.threshold.defaultRecoveryMessage', + 'xpack.observability.customThreshold.rule.alerting.threshold.defaultRecoveryMessage', { defaultMessage: `\\{\\{rule.name\\}\\} has recovered. @@ -106,7 +106,7 @@ export const registerObservabilityRuleTypes = ( observabilityRuleTypeRegistry.register({ id: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, description: i18n.translate( - 'xpack.observability.threshold.rule.alertFlyout.alertDescription', + 'xpack.observability.customThreshold.rule.alertFlyout.alertDescription', { defaultMessage: 'Alert when any Observability data type reaches or exceeds a given value.', @@ -116,14 +116,16 @@ export const registerObservabilityRuleTypes = ( documentationUrl(docLinks) { return `${docLinks.links.observability.threshold}`; }, - ruleParamsExpression: lazy(() => import('../components/threshold/threshold_rule_expression')), + ruleParamsExpression: lazy( + () => import('../components/custom_threshold/custom_threshold_rule_expression') + ), validate: validateMetricThreshold, defaultActionMessage: thresholdDefaultActionMessage, defaultRecoveryMessage: thresholdDefaultRecoveryMessage, requiresAppContext: false, format: formatReason, alertDetailsAppSection: lazy( - () => import('../components/threshold/components/alert_details_app_section') + () => import('../components/custom_threshold/components/alert_details_app_section') ), }); } diff --git a/x-pack/plugins/observability/public/utils/metrics_explorer.ts b/x-pack/plugins/observability/public/utils/metrics_explorer.ts index 3994a1c4ee69b..136df77131811 100644 --- a/x-pack/plugins/observability/public/utils/metrics_explorer.ts +++ b/x-pack/plugins/observability/public/utils/metrics_explorer.ts @@ -8,7 +8,7 @@ import { MetricsExplorerResponse, MetricsExplorerSeries, -} from '../../common/threshold_rule/metrics_explorer'; +} from '../../common/custom_threshold_rule/metrics_explorer'; import { MetricsExplorerChartOptions, MetricsExplorerChartType, @@ -16,7 +16,7 @@ import { MetricsExplorerTimeOptions, MetricsExplorerTimestampsRT, MetricsExplorerYAxisMode, -} from '../components/threshold/hooks/use_metrics_explorer_options'; +} from '../components/custom_threshold/hooks/use_metrics_explorer_options'; export const options: MetricsExplorerOptions = { limit: 3, diff --git a/x-pack/plugins/observability/server/index.ts b/x-pack/plugins/observability/server/index.ts index d5d5604001aa9..e0444fe34f861 100644 --- a/x-pack/plugins/observability/server/index.ts +++ b/x-pack/plugins/observability/server/index.ts @@ -50,7 +50,7 @@ const configSchema = schema.object({ enabled: schema.boolean({ defaultValue: false }), }), }), - thresholdRule: schema.object({ + customThresholdRule: schema.object({ groupByPageSize: schema.number({ defaultValue: 10_000 }), }), enabled: schema.boolean({ defaultValue: true }), diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.test.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.test.ts similarity index 99% rename from x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.test.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.test.ts index 1cf093ab91eee..4a4640e6e1f2f 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.test.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.test.ts @@ -18,7 +18,7 @@ import { FIRED_ACTIONS, MetricThresholdAlertContext, NO_DATA_ACTIONS, -} from './threshold_executor'; +} from './custom_threshold_executor'; import { Evaluation } from './lib/evaluate_rule'; import type { LogMeta, Logger } from '@kbn/logging'; import { DEFAULT_FLAPPING_SETTINGS } from '@kbn/alerting-plugin/common'; @@ -27,7 +27,7 @@ import { Comparator, CountMetricExpressionParams, NonCountMetricExpressionParams, -} from '../../../../common/threshold_rule/types'; +} from '../../../../common/custom_threshold_rule/types'; jest.mock('./lib/evaluate_rule', () => ({ evaluateRule: jest.fn() })); @@ -1888,7 +1888,7 @@ const mockLibs: any = { }, logger, config: { - thresholdRule: { + customThresholdRule: { groupByPageSize: 10_000, }, }, diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.ts similarity index 94% rename from x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.ts index 5ce2e40a1d023..bff471aaea2ec 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.ts @@ -19,8 +19,8 @@ import { Alert, RuleTypeState } from '@kbn/alerting-plugin/server'; import { IBasePath, Logger } from '@kbn/core/server'; import { LifecycleRuleExecutor } from '@kbn/rule-registry-plugin/server'; import { AlertsLocatorParams, getAlertUrl, TimeUnitChar } from '../../../../common'; -import { createFormatter } from '../../../../common/threshold_rule/formatters'; -import { Comparator } from '../../../../common/threshold_rule/types'; +import { createFormatter } from '../../../../common/custom_threshold_rule/formatters'; +import { Comparator } from '../../../../common/custom_threshold_rule/types'; import { ObservabilityConfig } from '../../..'; import { AlertStates, searchConfigurationSchema } from './types'; @@ -62,8 +62,8 @@ export interface MetricThresholdAlertContext extends Record<string, unknown> { value?: Array<number | null> | null; } -export const FIRED_ACTIONS_ID = 'threshold.fired'; -export const NO_DATA_ACTIONS_ID = 'threshold.nodata'; +export const FIRED_ACTIONS_ID = 'custom_threshold.fired'; +export const NO_DATA_ACTIONS_ID = 'custom_threshold.nodata'; type MetricThresholdActionGroup = | typeof FIRED_ACTIONS_ID @@ -158,7 +158,7 @@ export const createMetricThresholdExecutor = ({ // For backwards-compatibility, interpret undefined alertOnGroupDisappear as true const alertOnGroupDisappear = _alertOnGroupDisappear !== false; - const compositeSize = config.thresholdRule.groupByPageSize; + const compositeSize = config.customThresholdRule.groupByPageSize; const queryIsSame = isEqual( state.searchConfiguration?.query.query, params.searchConfiguration.query.query @@ -368,17 +368,20 @@ export const createMetricThresholdExecutor = ({ }; export const FIRED_ACTIONS = { - id: 'threshold.fired', - name: i18n.translate('xpack.observability.threshold.rule.alerting.threshold.fired', { + id: 'custom_threshold.fired', + name: i18n.translate('xpack.observability.customThreshold.rule.alerting.custom_threshold.fired', { defaultMessage: 'Alert', }), }; export const NO_DATA_ACTIONS = { - id: 'threshold.nodata', - name: i18n.translate('xpack.observability.threshold.rule.alerting.threshold.nodata', { - defaultMessage: 'No Data', - }), + id: 'custom_threshold.nodata', + name: i18n.translate( + 'xpack.observability.customThreshold.rule.alerting.custom_threshold.nodata', + { + defaultMessage: 'No Data', + } + ), }; const formatAlertResult = <AlertResult>( @@ -393,7 +396,7 @@ const formatAlertResult = <AlertResult>( ) => { const { metric, currentValue, threshold, comparator } = alertResult; const noDataValue = i18n.translate( - 'xpack.observability.threshold.rule.alerting.threshold.noDataFormattedValue', + 'xpack.observability.customThreshold.rule.alerting.threshold.noDataFormattedValue', { defaultMessage: '[NO DATA]' } ); diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/check_missing_group.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/check_missing_group.ts similarity index 96% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/check_missing_group.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/check_missing_group.ts index 4b8c47a1af866..7651130601b6c 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/check_missing_group.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/check_missing_group.ts @@ -8,7 +8,7 @@ import { ElasticsearchClient } from '@kbn/core/server'; import type { Logger } from '@kbn/logging'; import { isString, get, identity } from 'lodash'; -import { MetricExpressionParams } from '../../../../../common/threshold_rule/types'; +import { MetricExpressionParams } from '../../../../../common/custom_threshold_rule/types'; import type { BucketKey } from './get_data'; import { calculateCurrentTimeframe, createBaseFilters } from './metric_query'; diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/convert_strings_to_missing_groups_record.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/convert_strings_to_missing_groups_record.ts similarity index 100% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/convert_strings_to_missing_groups_record.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/convert_strings_to_missing_groups_record.ts diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_bucket_selector.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_bucket_selector.ts similarity index 98% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/create_bucket_selector.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_bucket_selector.ts index 0af245df1a102..6300bfac703f3 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_bucket_selector.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_bucket_selector.ts @@ -9,7 +9,7 @@ import { Aggregators, Comparator, MetricExpressionParams, -} from '../../../../../common/threshold_rule/types'; +} from '../../../../../common/custom_threshold_rule/types'; import { createConditionScript } from './create_condition_script'; import { createLastPeriod } from './wrap_in_period'; diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_condition_script.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_condition_script.ts similarity index 92% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/create_condition_script.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_condition_script.ts index 2355b2d301065..ad4aaa980aa63 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_condition_script.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_condition_script.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { Comparator } from '../../../../../common/threshold_rule/types'; +import { Comparator } from '../../../../../common/custom_threshold_rule/types'; export const createConditionScript = (threshold: number[], comparator: Comparator) => { if (comparator === Comparator.BETWEEN && threshold.length === 2) { diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_custom_metrics_aggregations.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_custom_metrics_aggregations.ts similarity index 98% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/create_custom_metrics_aggregations.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_custom_metrics_aggregations.ts index a52ad0247475c..93eecd37c1c5d 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_custom_metrics_aggregations.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_custom_metrics_aggregations.ts @@ -7,7 +7,7 @@ import { fromKueryExpression, toElasticsearchQuery } from '@kbn/es-query'; import { isEmpty } from 'lodash'; -import { CustomThresholdExpressionMetric } from '../../../../../common/threshold_rule/types'; +import { CustomThresholdExpressionMetric } from '../../../../../common/custom_threshold_rule/types'; import { MetricsExplorerCustomMetric } from './metrics_explorer'; const isMetricExpressionCustomMetric = ( diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_percentile_aggregation.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_percentile_aggregation.ts similarity index 87% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/create_percentile_aggregation.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_percentile_aggregation.ts index d96dbe49f5a88..73db4a3e747ee 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_percentile_aggregation.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_percentile_aggregation.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { Aggregators } from '../../../../../common/threshold_rule/types'; +import { Aggregators } from '../../../../../common/custom_threshold_rule/types'; export const createPercentileAggregation = ( type: Aggregators.P95 | Aggregators.P99, diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_rate_aggregation.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_rate_aggregation.ts similarity index 100% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/create_rate_aggregation.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_rate_aggregation.ts diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_timerange.test.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_timerange.test.ts similarity index 98% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/create_timerange.test.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_timerange.test.ts index 06b1554706a93..c48ce1d9ab50d 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_timerange.test.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_timerange.test.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { Aggregators } from '../../../../../common/threshold_rule/types'; +import { Aggregators } from '../../../../../common/custom_threshold_rule/types'; import moment from 'moment'; import { createTimerange } from './create_timerange'; diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_timerange.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_timerange.ts similarity index 92% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/create_timerange.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_timerange.ts index 446299c4ba92b..75f4dda7ff8d6 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/create_timerange.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/create_timerange.ts @@ -6,7 +6,7 @@ */ import moment from 'moment'; -import { Aggregators } from '../../../../../common/threshold_rule/types'; +import { Aggregators } from '../../../../../common/custom_threshold_rule/types'; export const createTimerange = ( interval: number, diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/evaluate_rule.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/evaluate_rule.ts similarity index 96% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/evaluate_rule.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/evaluate_rule.ts index 31b86eb73beea..66007de19b622 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/evaluate_rule.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/evaluate_rule.ts @@ -8,10 +8,10 @@ import moment from 'moment'; import { ElasticsearchClient } from '@kbn/core/server'; import type { Logger } from '@kbn/logging'; -import { MetricExpressionParams } from '../../../../../common/threshold_rule/types'; +import { MetricExpressionParams } from '../../../../../common/custom_threshold_rule/types'; import { isCustom } from './metric_expression_params'; import { AdditionalContext, getIntervalInSeconds } from '../utils'; -import { SearchConfigurationType } from '../threshold_executor'; +import { SearchConfigurationType } from '../custom_threshold_executor'; import { CUSTOM_EQUATION_I18N, DOCUMENT_COUNT_I18N } from '../messages'; import { createTimerange } from './create_timerange'; import { getData } from './get_data'; diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/get_data.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/get_data.ts similarity index 99% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/get_data.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/get_data.ts index 9d5db3a14727b..d5a09dbf567a3 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/get_data.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/get_data.ts @@ -13,7 +13,7 @@ import { Aggregators, Comparator, MetricExpressionParams, -} from '../../../../../common/threshold_rule/types'; +} from '../../../../../common/custom_threshold_rule/types'; import { CONTAINER_ID, diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/metric_expression_params.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metric_expression_params.ts similarity index 93% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/metric_expression_params.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metric_expression_params.ts index c81b43c9baeb6..278f33dadafe9 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/metric_expression_params.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metric_expression_params.ts @@ -9,7 +9,7 @@ import { CustomMetricExpressionParams, MetricExpressionParams, NonCountMetricExpressionParams, -} from '../../../../../common/threshold_rule/types'; +} from '../../../../../common/custom_threshold_rule/types'; export const isNotCountOrCustom = ( metricExpressionParams: MetricExpressionParams diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/metric_query.test.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metric_query.test.ts similarity index 98% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/metric_query.test.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metric_query.test.ts index 2aed703e9c3a1..cdfe0c66c0ab9 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/metric_query.test.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metric_query.test.ts @@ -9,7 +9,7 @@ import { Comparator, Aggregators, MetricExpressionParams, -} from '../../../../../common/threshold_rule/types'; +} from '../../../../../common/custom_threshold_rule/types'; import moment from 'moment'; import { getElasticsearchMetricQuery } from './metric_query'; diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/metric_query.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metric_query.ts similarity index 98% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/metric_query.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metric_query.ts index 3eac288648093..66868ad97dfc9 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/metric_query.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metric_query.ts @@ -6,7 +6,10 @@ */ import moment from 'moment'; -import { Aggregators, MetricExpressionParams } from '../../../../../common/threshold_rule/types'; +import { + Aggregators, + MetricExpressionParams, +} from '../../../../../common/custom_threshold_rule/types'; import { isCustom, isNotCountOrCustom } from './metric_expression_params'; import { createCustomMetricsAggregations } from './create_custom_metrics_aggregations'; import { diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/metrics_explorer.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metrics_explorer.ts similarity index 94% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/metrics_explorer.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metrics_explorer.ts index 2de1a21c3cd48..e72974828b027 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/metrics_explorer.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/metrics_explorer.ts @@ -6,20 +6,8 @@ */ import * as rt from 'io-ts'; -import { metricsExplorerCustomMetricAggregationRT } from '../../../../../common/threshold_rule/metrics_explorer'; - -export const METRIC_EXPLORER_AGGREGATIONS = [ - 'avg', - 'max', - 'min', - 'cardinality', - 'rate', - 'count', - 'sum', - 'p95', - 'p99', - 'custom', -] as const; +import { METRIC_EXPLORER_AGGREGATIONS } from '../../../../../common/custom_threshold_rule/constants'; +import { metricsExplorerCustomMetricAggregationRT } from '../../../../../common/custom_threshold_rule/metrics_explorer'; type MetricExplorerAggregations = typeof METRIC_EXPLORER_AGGREGATIONS[number]; diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/lib/wrap_in_period.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/wrap_in_period.ts similarity index 93% rename from x-pack/plugins/observability/server/lib/rules/threshold/lib/wrap_in_period.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/wrap_in_period.ts index d313e5efd9fcd..a76c45e4e4583 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/lib/wrap_in_period.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/lib/wrap_in_period.ts @@ -6,7 +6,7 @@ */ import moment from 'moment'; -import { MetricExpressionParams } from '../../../../../common/threshold_rule/types'; +import { MetricExpressionParams } from '../../../../../common/custom_threshold_rule/types'; export const createLastPeriod = ( lastPeriodEnd: number, diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/messages.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/messages.ts similarity index 73% rename from x-pack/plugins/observability/server/lib/rules/threshold/messages.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/messages.ts index ac0f1ef8b98c4..80ca06c24e59f 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/messages.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/messages.ts @@ -6,19 +6,19 @@ */ import { i18n } from '@kbn/i18n'; -import { Comparator } from '../../../../common/threshold_rule/types'; +import { Comparator } from '../../../../common/custom_threshold_rule/types'; import { formatDurationFromTimeUnitChar, TimeUnitChar } from '../../../../common'; import { UNGROUPED_FACTORY_KEY } from './utils'; export const DOCUMENT_COUNT_I18N = i18n.translate( - 'xpack.observability.threshold.rule.threshold.documentCount', + 'xpack.observability.customThreshold.rule.threshold.documentCount', { defaultMessage: 'Document count', } ); export const CUSTOM_EQUATION_I18N = i18n.translate( - 'xpack.observability.threshold.rule.threshold.customEquation', + 'xpack.observability.customThreshold.rule.threshold.customEquation', { defaultMessage: 'Custom equation', } @@ -32,17 +32,23 @@ const recoveredComparatorToI18n = ( threshold: number[], currentValue: number ) => { - const belowText = i18n.translate('xpack.observability.threshold.rule.threshold.belowRecovery', { - defaultMessage: 'below', - }); - const aboveText = i18n.translate('xpack.observability.threshold.rule.threshold.aboveRecovery', { - defaultMessage: 'above', - }); + const belowText = i18n.translate( + 'xpack.observability.customThreshold.rule.threshold.belowRecovery', + { + defaultMessage: 'below', + } + ); + const aboveText = i18n.translate( + 'xpack.observability.customThreshold.rule.threshold.aboveRecovery', + { + defaultMessage: 'above', + } + ); switch (comparator) { case Comparator.BETWEEN: return currentValue < threshold[0] ? belowText : aboveText; case Comparator.OUTSIDE_RANGE: - return i18n.translate('xpack.observability.threshold.rule.threshold.betweenRecovery', { + return i18n.translate('xpack.observability.customThreshold.rule.threshold.betweenRecovery', { defaultMessage: 'between', }); case Comparator.GT: @@ -56,7 +62,7 @@ const recoveredComparatorToI18n = ( const thresholdToI18n = ([a, b]: Array<number | string>) => { if (typeof b === 'undefined') return a; - return i18n.translate('xpack.observability.threshold.rule.threshold.thresholdRange', { + return i18n.translate('xpack.observability.customThreshold.rule.threshold.thresholdRange', { defaultMessage: '{a} and {b}', values: { a, b }, }); @@ -73,7 +79,7 @@ export const buildFiredAlertReason: (alertResult: { timeSize: number; timeUnit: TimeUnitChar; }) => string = ({ group, metric, comparator, threshold, currentValue, timeSize, timeUnit }) => - i18n.translate('xpack.observability.threshold.rule.threshold.firedAlertReason', { + i18n.translate('xpack.observability.customThreshold.rule.threshold.firedAlertReason', { defaultMessage: '{metric} is {currentValue} in the last {duration}{group}. Alert when {comparator} {threshold}.', values: { @@ -94,7 +100,7 @@ export const buildRecoveredAlertReason: (alertResult: { threshold: Array<number | string>; currentValue: number | string; }) => string = ({ group, metric, comparator, threshold, currentValue }) => - i18n.translate('xpack.observability.threshold.rule.threshold.recoveredAlertReason', { + i18n.translate('xpack.observability.customThreshold.rule.threshold.recoveredAlertReason', { defaultMessage: '{metric} is now {comparator} a threshold of {threshold} (current value is {currentValue}) for {group}', values: { @@ -116,7 +122,7 @@ export const buildNoDataAlertReason: (alertResult: { timeSize: number; timeUnit: string; }) => string = ({ group, metric, timeSize, timeUnit }) => - i18n.translate('xpack.observability.threshold.rule.threshold.noDataAlertReason', { + i18n.translate('xpack.observability.customThreshold.rule.threshold.noDataAlertReason', { defaultMessage: '{metric} reported no data in the last {interval}{group}', values: { metric, @@ -126,7 +132,7 @@ export const buildNoDataAlertReason: (alertResult: { }); export const buildErrorAlertReason = (metric: string) => - i18n.translate('xpack.observability.threshold.rule.threshold.errorAlertReason', { + i18n.translate('xpack.observability.customThreshold.rule.threshold.errorAlertReason', { defaultMessage: 'Elasticsearch failed when attempting to query data for {metric}', values: { metric, @@ -134,14 +140,14 @@ export const buildErrorAlertReason = (metric: string) => }); export const groupByKeysActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.groupByKeysActionVariableDescription', + 'xpack.observability.customThreshold.rule.groupByKeysActionVariableDescription', { defaultMessage: 'The object containing groups that are reporting data', } ); export const alertDetailUrlActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.alertDetailUrlActionVariableDescription', + 'xpack.observability.customThreshold.rule.alertDetailUrlActionVariableDescription', { defaultMessage: 'Link to the alert troubleshooting view for further context and details. This will be an empty string if the server.publicBaseUrl is not configured.', @@ -149,70 +155,70 @@ export const alertDetailUrlActionVariableDescription = i18n.translate( ); export const reasonActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.reasonActionVariableDescription', + 'xpack.observability.customThreshold.rule.reasonActionVariableDescription', { defaultMessage: 'A concise description of the reason for the alert', } ); export const timestampActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.timestampDescription', + 'xpack.observability.customThreshold.rule.timestampDescription', { defaultMessage: 'A timestamp of when the alert was detected.', } ); export const valueActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.valueActionVariableDescription', + 'xpack.observability.customThreshold.rule.valueActionVariableDescription', { defaultMessage: 'List of the condition values.', } ); export const viewInAppUrlActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.viewInAppUrlActionVariableDescription', + 'xpack.observability.customThreshold.rule.viewInAppUrlActionVariableDescription', { defaultMessage: 'Link to the alert source', } ); export const cloudActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.cloudActionVariableDescription', + 'xpack.observability.customThreshold.rule.cloudActionVariableDescription', { defaultMessage: 'The cloud object defined by ECS if available in the source.', } ); export const hostActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.hostActionVariableDescription', + 'xpack.observability.customThreshold.rule.hostActionVariableDescription', { defaultMessage: 'The host object defined by ECS if available in the source.', } ); export const containerActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.containerActionVariableDescription', + 'xpack.observability.customThreshold.rule.containerActionVariableDescription', { defaultMessage: 'The container object defined by ECS if available in the source.', } ); export const orchestratorActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.orchestratorActionVariableDescription', + 'xpack.observability.customThreshold.rule.orchestratorActionVariableDescription', { defaultMessage: 'The orchestrator object defined by ECS if available in the source.', } ); export const labelsActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.labelsActionVariableDescription', + 'xpack.observability.customThreshold.rule.labelsActionVariableDescription', { defaultMessage: 'List of labels associated with the entity where this alert triggered.', } ); export const tagsActionVariableDescription = i18n.translate( - 'xpack.observability.threshold.rule.tagsActionVariableDescription', + 'xpack.observability.customThreshold.rule.tagsActionVariableDescription', { defaultMessage: 'List of tags associated with the entity where this alert triggered.', } diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/register_threshold_rule_type.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/register_custom_threshold_rule_type.ts similarity index 97% rename from x-pack/plugins/observability/server/lib/rules/threshold/register_threshold_rule_type.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/register_custom_threshold_rule_type.ts index 791b6ff680992..3b1b01e4d2268 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/register_threshold_rule_type.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/register_custom_threshold_rule_type.ts @@ -21,7 +21,7 @@ import { observabilityFeatureId, observabilityPaths, } from '../../../../common'; -import { Comparator } from '../../../../common/threshold_rule/types'; +import { Comparator } from '../../../../common/custom_threshold_rule/types'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '../../../../common/constants'; import { THRESHOLD_RULE_REGISTRATION_CONTEXT } from '../../../common/constants'; @@ -43,9 +43,9 @@ import { createMetricThresholdExecutor, FIRED_ACTIONS, NO_DATA_ACTIONS, -} from './threshold_executor'; +} from './custom_threshold_executor'; import { ObservabilityConfig } from '../../..'; -import { METRIC_EXPLORER_AGGREGATIONS } from '../../../../common/threshold_rule/constants'; +import { METRIC_EXPLORER_AGGREGATIONS } from '../../../../common/custom_threshold_rule/constants'; export const MetricsRulesTypeAlertDefinition: IRuleTypeAlerts = { context: THRESHOLD_RULE_REGISTRATION_CONTEXT, @@ -121,7 +121,7 @@ export function thresholdRuleType( return { id: OBSERVABILITY_THRESHOLD_RULE_TYPE_ID, name: i18n.translate('xpack.observability.threshold.ruleName', { - defaultMessage: 'Threshold (Technical Preview)', + defaultMessage: 'Custom threshold (BETA)', }), validate: { params: schema.object( diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/types.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/types.ts similarity index 96% rename from x-pack/plugins/observability/server/lib/rules/threshold/types.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/types.ts index 40115fdeb9c80..e66042bcb648d 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/types.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/types.ts @@ -8,7 +8,7 @@ import { schema } from '@kbn/config-schema'; import * as rt from 'io-ts'; import { ML_ANOMALY_THRESHOLD } from '@kbn/ml-anomaly-utils/anomaly_threshold'; import { validateKQLStringFilter } from './utils'; -import { Aggregators, Comparator } from '../../../../common/threshold_rule/types'; +import { Aggregators, Comparator } from '../../../../common/custom_threshold_rule/types'; import { TimeUnitChar } from '../../../../common'; export enum InfraRuleType { diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/utils.test.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/utils.test.ts similarity index 100% rename from x-pack/plugins/observability/server/lib/rules/threshold/utils.test.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/utils.test.ts diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/utils.ts b/x-pack/plugins/observability/server/lib/rules/custom_threshold/utils.ts similarity index 99% rename from x-pack/plugins/observability/server/lib/rules/threshold/utils.ts rename to x-pack/plugins/observability/server/lib/rules/custom_threshold/utils.ts index 7c85c7ab98630..854b7cc497502 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/utils.ts +++ b/x-pack/plugins/observability/server/lib/rules/custom_threshold/utils.ts @@ -52,7 +52,7 @@ export const validateKQLStringFilter = (value: string) => { try { kbnBuildEsQuery(undefined, [{ query: value, language: 'kuery' }], []); } catch (e) { - return i18n.translate('xpack.observability.threshold.rule.schema.invalidFilterQuery', { + return i18n.translate('xpack.observability.customThreshold.rule.schema.invalidFilterQuery', { defaultMessage: 'filterQuery must be a valid KQL filter', }); } diff --git a/x-pack/plugins/observability/server/lib/rules/register_rule_types.ts b/x-pack/plugins/observability/server/lib/rules/register_rule_types.ts index 388ede407819f..0e1abfc1037d7 100644 --- a/x-pack/plugins/observability/server/lib/rules/register_rule_types.ts +++ b/x-pack/plugins/observability/server/lib/rules/register_rule_types.ts @@ -22,7 +22,7 @@ import { THRESHOLD_RULE_REGISTRATION_CONTEXT, } from '../../common/constants'; import { sloBurnRateRuleType } from './slo_burn_rate'; -import { thresholdRuleType } from './threshold/register_threshold_rule_type'; +import { thresholdRuleType } from './custom_threshold/register_custom_threshold_rule_type'; import { sloRuleFieldMap } from './slo_burn_rate/field_map'; export function registerRuleTypes( diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 49fa6be17eb96..fb4219e6052f4 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -27128,18 +27128,6 @@ "xpack.observability.slo.update.errorNotification": "Un problème est survenu lors de la mise à jour de {name}", "xpack.observability.slo.update.successNotification": "Mise à jour réussie de {name}", "xpack.observability.syntheticsThrottlingEnabledExperimentDescription": "Activez les paramètres de régulation dans les configurations du moniteur Synthetics. Notez qu’il est possible que la régulation ne soit pas toujours disponible pour vos moniteurs, même si le paramètre est actif. Destiné à un usage interne uniquement. {link}", - "xpack.observability.threshold.rule.alertDetailsAppSection.criterion.subtitle": "Dernière {lookback} {timeLabel}", - "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError": "Il est possible que cette règle signale {matchedGroups} moins que prévu, car la requête de filtre comporte une correspondance pour {groupCount, plural, one {ce champ} many {ces champs} other {ces champs}}. Pour en savoir plus, consultez notre {filteringAndGroupingLink}.", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.aggregationLabel": "Agrégation {name}", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.filterLabel": "Filtre KQL {name}", - "xpack.observability.threshold.rule.alerts.dataTimeRangeLabel": "Dernière {lookback} {timeLabel}", - "xpack.observability.threshold.rule.alerts.dataTimeRangeLabelWithGrouping": "Dernières {lookback} {timeLabel} de données pour {id}", - "xpack.observability.threshold.rule.threshold.errorAlertReason": "Elasticsearch a échoué lors de l'interrogation des données pour {metric}", - "xpack.observability.threshold.rule.threshold.firedAlertReason": "{metric} est {currentValue} dans les dernières {duration}{group}. Alerte lorsque {comparator} {threshold}.", - "xpack.observability.threshold.rule.threshold.noDataAlertReason": "{metric} n'a signalé aucune donnée dans les dernières {interval} {group}", - "xpack.observability.threshold.rule.threshold.recoveredAlertReason": "{metric} est maintenant {comparator} un seuil de {threshold} (la valeur actuelle est {currentValue}) pour {group}", - "xpack.observability.threshold.rule.threshold.thresholdRange": "{a} et {b}", - "xpack.observability.threshold.rule.thresholdExtraTitle": "Alerte lorsque {comparator} {threshold}.", "xpack.observability.transactionRateLabel": "{value} tpm", "xpack.observability.ux.coreVitals.averageMessage": " et inférieur à {bad}", "xpack.observability.ux.coreVitals.paletteLegend.rankPercentage": "{labelsInd} ({ranksInd} %)", @@ -27586,81 +27574,6 @@ "xpack.observability.statusVisualization.ux.link": "Ajouter des données", "xpack.observability.statusVisualization.ux.title": "Expérience utilisateur", "xpack.observability.syntheticsThrottlingEnabledExperimentName": "Activer la régulation Synthetics (Expérimentale)", - "xpack.observability.threshold.rule..charts.errorMessage": "Oups, un problème est survenu", - "xpack.observability.threshold.rule..charts.noDataMessage": "Aucune donnée graphique disponible", - "xpack.observability.threshold.rule..timeLabels.days": "jours", - "xpack.observability.threshold.rule..timeLabels.hours": "heures", - "xpack.observability.threshold.rule..timeLabels.minutes": "minutes", - "xpack.observability.threshold.rule..timeLabels.seconds": "secondes", - "xpack.observability.threshold.rule.alertDetailsAppSection.summaryField.rule": "Règle", - "xpack.observability.threshold.rule.alertDetailsAppSection.thresholdTitle": "Seuil dépassé", - "xpack.observability.threshold.rule.alertDetailUrlActionVariableDescription": "Lien vers l’affichage de résolution des problèmes d’alerte pour voir plus de contextes et de détails. La chaîne sera vide si server.publicBaseUrl n'est pas configuré.", - "xpack.observability.threshold.rule.alertDropdownTitle": "Alertes et règles", - "xpack.observability.threshold.rule.alertFlyout.addCondition": "Ajouter une condition", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.avg": "Moyenne", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.cardinality": "Cardinalité", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.count": "Compte du document", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.max": "Max", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.min": "Min", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.p95": "95e centile", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.p99": "99e centile", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.rate": "Taux", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.sum": "Somme", - "xpack.observability.threshold.rule.alertFlyout.alertDescription": "Alerter quand un type de données Observability atteint ou dépasse une valeur donnée.", - "xpack.observability.threshold.rule.alertFlyout.alertOnGroupDisappear": "Me prévenir si un groupe cesse de signaler les données", - "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError.docsLink": "les documents", - "xpack.observability.threshold.rule.alertFlyout.createAlertPerHelpText": "Créer une alerte pour chaque valeur unique. Par exemple : \"host.id\" ou \"cloud.region\".", - "xpack.observability.threshold.rule.alertFlyout.createAlertPerText": "Regrouper les alertes par (facultatif)", - "xpack.observability.threshold.rule.alertFlyout.customEquation": "Équation personnalisée", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.addCustomRow": "Ajouter une agrégation/un champ", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.deleteRowButton": "Supprimer", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.equationHelpMessage": "Prend en charge les expressions mathématiques de base", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelHelpMessage": "L'étiquette personnalisée s'affichera sur le graphique d'alerte et dans le titre de raison/d'alerte", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelLabel": "Étiquette (facultatif)", - "xpack.observability.threshold.rule.alertFlyout.docCountNoDataDisabledHelpText": "[Ce paramètre n’est pas applicable à l’agrégateur du nombre de documents.]", - "xpack.observability.threshold.rule.alertFlyout.error.aggregationRequired": "L'agrégation est requise.", - "xpack.observability.threshold.rule.alertFlyout.error.equation.invalidCharacters": "Le champ d'équation prend en charge uniquement les caractères suivants : A-Z, +, -, /, *, (, ), ?, !, &, :, |, >, <, =", - "xpack.observability.threshold.rule.alertFlyout.error.invalidFilterQuery": "La requête de filtre n'est pas valide.", - "xpack.observability.threshold.rule.alertFlyout.error.metricRequired": "L'indicateur est requis.", - "xpack.observability.threshold.rule.alertFlyout.error.thresholdRequired": "Le seuil est requis.", - "xpack.observability.threshold.rule.alertFlyout.error.thresholdTypeRequired": "Les seuils doivent contenir un nombre valide.", - "xpack.observability.threshold.rule.alertFlyout.error.timeRequred": "La taille de temps est requise.", - "xpack.observability.threshold.rule.alertFlyout.groupDisappearHelpText": "Activez cette option pour déclencher l’action si un groupe précédemment détecté cesse de signaler des résultats. Ce n’est pas recommandé pour les infrastructures à montée en charge dynamique qui peuvent rapidement lancer ou stopper des nœuds automatiquement.", - "xpack.observability.threshold.rule.alertFlyout.outsideRangeLabel": "N'est pas entre", - "xpack.observability.threshold.rule.alertFlyout.removeCondition": "Retirer la condition", - "xpack.observability.threshold.rule.alerting.noDataFormattedValue": "[AUCUNE DONNÉE]", - "xpack.observability.threshold.rule.alerting.threshold.defaultActionMessage": "\\{\\{alertName\\}\\} - \\{\\{context.group\\}\\} est à l'état \\{\\{context.alertState\\}\\}\n\n Raison :\n \\{\\{context.reason\\}\\}\n ", - "xpack.observability.threshold.rule.alerting.threshold.fired": "Alerte", - "xpack.observability.threshold.rule.alerting.threshold.nodata": "Aucune donnée", - "xpack.observability.threshold.rule.alerting.threshold.noDataFormattedValue": "[AUCUNE DONNÉE]", - "xpack.observability.threshold.rule.alertsButton": "Alertes et règles", - "xpack.observability.threshold.rule.cloudActionVariableDescription": "Objet cloud défini par ECS s'il est disponible dans la source.", - "xpack.observability.threshold.rule.containerActionVariableDescription": "Objet conteneur défini par ECS s'il est disponible dans la source.", - "xpack.observability.threshold.rule.createInventoryRuleButton": "Créer une règle d'inventaire", - "xpack.observability.threshold.rule.createThresholdRuleButton": "Créer une règle de seuil", - "xpack.observability.threshold.rule.groupByKeysActionVariableDescription": "Objet contenant les groupes qui fournissent les données", - "xpack.observability.threshold.rule.hostActionVariableDescription": "Objet hôte défini par ECS s'il est disponible dans la source.", - "xpack.observability.threshold.rule.infrastructureDropdownMenu": "Infrastructure", - "xpack.observability.threshold.rule.infrastructureDropdownTitle": "Règles d'infrastructure", - "xpack.observability.threshold.rule.labelsActionVariableDescription": "Liste d'étiquettes associées avec l'entité sur laquelle l'alerte s'est déclenchée.", - "xpack.observability.threshold.rule.manageRules": "Gérer les règles", - "xpack.observability.threshold.rule.metricsDropdownMenu": "Indicateurs", - "xpack.observability.threshold.rule.metricsDropdownTitle": "Règles d'indicateurs", - "xpack.observability.threshold.rule.orchestratorActionVariableDescription": "Objet orchestrateur défini par ECS s'il est disponible dans la source.", - "xpack.observability.threshold.rule.reasonActionVariableDescription": "Une description concise de la raison du signalement", - "xpack.observability.threshold.rule.sourceConfiguration.missingHttp": "Échec de chargement de la source : Aucun client HTTP disponible.", - "xpack.observability.threshold.rule.sourceConfiguration.updateFailureBody": "Nous n'avons pas pu appliquer les modifications à la configuration des indicateurs. Réessayez plus tard.", - "xpack.observability.threshold.rule.sourceConfiguration.updateFailureTitle": "La mise à jour de la configuration a échoué", - "xpack.observability.threshold.rule.sourceConfiguration.updateSuccessTitle": "Les paramètres d'indicateurs ont bien été mis à jour", - "xpack.observability.threshold.rule.tagsActionVariableDescription": "Liste de balises associées avec l'entité sur laquelle l'alerte s'est déclenchée.", - "xpack.observability.threshold.rule.threshold.aboveRecovery": "supérieur à", - "xpack.observability.threshold.rule.threshold.belowRecovery": "inférieur à", - "xpack.observability.threshold.rule.threshold.betweenRecovery": "entre", - "xpack.observability.threshold.rule.threshold.customEquation": "Équation personnalisée", - "xpack.observability.threshold.rule.threshold.documentCount": "Nombre de documents", - "xpack.observability.threshold.rule.timestampDescription": "Horodatage du moment où l'alerte a été détectée.", - "xpack.observability.threshold.rule.valueActionVariableDescription": "Valeur de l'indicateur dans la condition spécifiée. Utilisation : (ctx.value.condition0, ctx.value.condition1, etc...).", - "xpack.observability.threshold.rule.viewInAppUrlActionVariableDescription": "Lien vers la source de l’alerte", "xpack.observability.threshold.ruleExplorer.groupByAriaLabel": "Graphique par", "xpack.observability.threshold.ruleExplorer.groupByLabel": "Tout", "xpack.observability.threshold.ruleName": "Seuil (Version d'évaluation technique)", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 00df50d572e22..9c1bd25593a47 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -27128,18 +27128,6 @@ "xpack.observability.slo.update.errorNotification": "{name}の更新中にエラーが発生しました", "xpack.observability.slo.update.successNotification": "正常に{name}を更新しました", "xpack.observability.syntheticsThrottlingEnabledExperimentDescription": "シンセティック監視構成で調整設定を有効にします。設定が有効でも、モニターで調整を使用できない場合があります。内部使用専用です。{link}", - "xpack.observability.threshold.rule.alertDetailsAppSection.criterion.subtitle": "最後の{lookback} {timeLabel}", - "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError": "フィルタークエリには{groupCount, plural, other {これらのフィールド}}に対する一致が含まれているため、このルールによって、想定を下回る{matchedGroups}に関するアラートが発行される場合があります。詳細については、{filteringAndGroupingLink}を参照してください。", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.aggregationLabel": "アグリゲーション{name}", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.filterLabel": "KQLフィルター{name}", - "xpack.observability.threshold.rule.alerts.dataTimeRangeLabel": "最後の{lookback} {timeLabel}", - "xpack.observability.threshold.rule.alerts.dataTimeRangeLabelWithGrouping": "{id}のデータの最後の{lookback} {timeLabel}", - "xpack.observability.threshold.rule.threshold.errorAlertReason": "{metric}のデータのクエリを試行しているときに、Elasticsearchが失敗しました", - "xpack.observability.threshold.rule.threshold.firedAlertReason": "{metric}は最後の{duration}{group}の{currentValue}です。{comparator} {threshold}のときにアラートを通知します。", - "xpack.observability.threshold.rule.threshold.noDataAlertReason": "{metric}は最後の{interval}{group}でデータがないことを報告しました", - "xpack.observability.threshold.rule.threshold.recoveredAlertReason": "{metric} が {comparator} に、{group} が {threshold} のしきい値(現在の値は {currentValue})になりました", - "xpack.observability.threshold.rule.threshold.thresholdRange": "{a}および{b}", - "xpack.observability.threshold.rule.thresholdExtraTitle": "{comparator} {threshold}のときにアラートを通知", "xpack.observability.transactionRateLabel": "{value} tpm", "xpack.observability.ux.coreVitals.averageMessage": " {bad}未満", "xpack.observability.ux.coreVitals.paletteLegend.rankPercentage": "{labelsInd}({ranksInd}%)", @@ -27586,81 +27574,6 @@ "xpack.observability.statusVisualization.ux.link": "データの追加", "xpack.observability.statusVisualization.ux.title": "ユーザーエクスペリエンス", "xpack.observability.syntheticsThrottlingEnabledExperimentName": "シンセティック調整を有効にする(実験)", - "xpack.observability.threshold.rule..charts.errorMessage": "問題が発生しました", - "xpack.observability.threshold.rule..charts.noDataMessage": "グラフデータがありません", - "xpack.observability.threshold.rule..timeLabels.days": "日", - "xpack.observability.threshold.rule..timeLabels.hours": "時間", - "xpack.observability.threshold.rule..timeLabels.minutes": "分", - "xpack.observability.threshold.rule..timeLabels.seconds": "秒", - "xpack.observability.threshold.rule.alertDetailsAppSection.summaryField.rule": "ルール", - "xpack.observability.threshold.rule.alertDetailsAppSection.thresholdTitle": "しきい値を超えました", - "xpack.observability.threshold.rule.alertDetailUrlActionVariableDescription": "アラートトラブルシューティングビューにリンクして、さらに詳しい状況や詳細を確認できます。server.publicBaseUrlが構成されていない場合は、空の文字列になります。", - "xpack.observability.threshold.rule.alertDropdownTitle": "アラートとルール", - "xpack.observability.threshold.rule.alertFlyout.addCondition": "条件を追加", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.avg": "平均", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.cardinality": "基数", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.count": "ドキュメントカウント", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.max": "最高", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.min": "最低", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.p95": "95パーセンタイル", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.p99": "99パーセンタイル", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.rate": "レート", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.sum": "合計", - "xpack.observability.threshold.rule.alertFlyout.alertDescription": "オブザーバビリティデータタイプが特定の値以上になったときにアラートを送信します。", - "xpack.observability.threshold.rule.alertFlyout.alertOnGroupDisappear": "グループがデータのレポートを停止する場合にアラートで通知する", - "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError.docsLink": "ドキュメント", - "xpack.observability.threshold.rule.alertFlyout.createAlertPerHelpText": "すべての一意の値についてアラートを作成します。例:「host.id」または「cloud.region」。", - "xpack.observability.threshold.rule.alertFlyout.createAlertPerText": "アラートのグループ化条件(オプション)", - "xpack.observability.threshold.rule.alertFlyout.customEquation": "カスタム等式", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.addCustomRow": "集約/フィールドを追加", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.deleteRowButton": "削除", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.equationHelpMessage": "基本数学式をサポートします", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelHelpMessage": "カスタムラベルにはアラートグラフと理由/アラートタイトルに表示されます", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelLabel": "ラベル(任意)", - "xpack.observability.threshold.rule.alertFlyout.docCountNoDataDisabledHelpText": "[この設定は、ドキュメントカウントアグリゲーターには適用されません。]", - "xpack.observability.threshold.rule.alertFlyout.error.aggregationRequired": "集約が必要です。", - "xpack.observability.threshold.rule.alertFlyout.error.equation.invalidCharacters": "等式フィールドでは次の文字のみを使用できます:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", - "xpack.observability.threshold.rule.alertFlyout.error.invalidFilterQuery": "フィルタークエリは無効です。", - "xpack.observability.threshold.rule.alertFlyout.error.metricRequired": "メトリックが必要です。", - "xpack.observability.threshold.rule.alertFlyout.error.thresholdRequired": "しきい値が必要です。", - "xpack.observability.threshold.rule.alertFlyout.error.thresholdTypeRequired": "しきい値には有効な数値を含める必要があります。", - "xpack.observability.threshold.rule.alertFlyout.error.timeRequred": "ページサイズが必要です。", - "xpack.observability.threshold.rule.alertFlyout.groupDisappearHelpText": "以前に検出されたグループが結果を報告しなくなった場合は、これを有効にすると、アクションがトリガーされます。自動的に急速にノードを開始および停止することがある動的に拡張するインフラストラクチャーでは、これは推奨されません。", - "xpack.observability.threshold.rule.alertFlyout.outsideRangeLabel": "is not between", - "xpack.observability.threshold.rule.alertFlyout.removeCondition": "条件を削除", - "xpack.observability.threshold.rule.alerting.noDataFormattedValue": "[データなし]", - "xpack.observability.threshold.rule.alerting.threshold.defaultActionMessage": "\\{\\{alertName\\}\\} - \\{\\{context.group\\}\\}は状態\\{\\{context.alertState\\}\\}です\n\n 理由:\n \\{\\{context.reason\\}\\}\n ", - "xpack.observability.threshold.rule.alerting.threshold.fired": "アラート", - "xpack.observability.threshold.rule.alerting.threshold.nodata": "データなし", - "xpack.observability.threshold.rule.alerting.threshold.noDataFormattedValue": "[データなし]", - "xpack.observability.threshold.rule.alertsButton": "アラートとルール", - "xpack.observability.threshold.rule.cloudActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたクラウドオブジェクト。", - "xpack.observability.threshold.rule.containerActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたコンテナーオブジェクト。", - "xpack.observability.threshold.rule.createInventoryRuleButton": "インベントリルールの作成", - "xpack.observability.threshold.rule.createThresholdRuleButton": "しきい値ルールを作成", - "xpack.observability.threshold.rule.groupByKeysActionVariableDescription": "データを報告しているグループを含むオブジェクト", - "xpack.observability.threshold.rule.hostActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたホストオブジェクト。", - "xpack.observability.threshold.rule.infrastructureDropdownMenu": "インフラストラクチャー", - "xpack.observability.threshold.rule.infrastructureDropdownTitle": "インフラストラクチャールール", - "xpack.observability.threshold.rule.labelsActionVariableDescription": "このアラートがトリガーされたエンティティに関連付けられたラベルのリスト。", - "xpack.observability.threshold.rule.manageRules": "ルールの管理", - "xpack.observability.threshold.rule.metricsDropdownMenu": "メトリック", - "xpack.observability.threshold.rule.metricsDropdownTitle": "メトリックルール", - "xpack.observability.threshold.rule.orchestratorActionVariableDescription": "ソースで使用可能な場合に、ECSで定義されたオーケストレーターオブジェクト。", - "xpack.observability.threshold.rule.reasonActionVariableDescription": "アラートの理由の簡潔な説明", - "xpack.observability.threshold.rule.sourceConfiguration.missingHttp": "ソースの読み込みに失敗しました:HTTPクライアントがありません。", - "xpack.observability.threshold.rule.sourceConfiguration.updateFailureBody": "変更をメトリック構成に適用できませんでした。しばらくたってから再試行してください。", - "xpack.observability.threshold.rule.sourceConfiguration.updateFailureTitle": "構成の更新が失敗しました", - "xpack.observability.threshold.rule.sourceConfiguration.updateSuccessTitle": "メトリック設定は正常に更新されました", - "xpack.observability.threshold.rule.tagsActionVariableDescription": "このアラートがトリガーされたエンティティに関連付けられたタグのリスト。", - "xpack.observability.threshold.rule.threshold.aboveRecovery": "より大", - "xpack.observability.threshold.rule.threshold.belowRecovery": "より小", - "xpack.observability.threshold.rule.threshold.betweenRecovery": "の間", - "xpack.observability.threshold.rule.threshold.customEquation": "カスタム等式", - "xpack.observability.threshold.rule.threshold.documentCount": "ドキュメントカウント", - "xpack.observability.threshold.rule.timestampDescription": "アラートが検出された時点のタイムスタンプ。", - "xpack.observability.threshold.rule.valueActionVariableDescription": "指定された条件のメトリックの値。使用方法:(ctx.value.condition0、ctx.value.condition1など)。", - "xpack.observability.threshold.rule.viewInAppUrlActionVariableDescription": "アラートソースにリンク", "xpack.observability.threshold.ruleExplorer.groupByAriaLabel": "graph/", "xpack.observability.threshold.ruleExplorer.groupByLabel": "すべて", "xpack.observability.threshold.ruleName": "しきい値(テクニカルプレビュー)", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 7c0d74cc40459..75fcb531da66a 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -27126,18 +27126,6 @@ "xpack.observability.slo.update.errorNotification": "更新 {name} 时出现问题", "xpack.observability.slo.update.successNotification": "成功更新 {name}", "xpack.observability.syntheticsThrottlingEnabledExperimentDescription": "在 Synthetics 监测配置中启用限制设置。请注意,即使该设置处于活动状态,可能仍然无法对您的监测应用限制。仅限内部使用。{link}", - "xpack.observability.threshold.rule.alertDetailsAppSection.criterion.subtitle": "过去 {lookback} {timeLabel}", - "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError": "此规则可能针对低于预期的 {matchedGroups} 告警,因为筛选查询包含{groupCount, plural, other {这些字段}}的匹配项。有关更多信息,请参阅 {filteringAndGroupingLink}。", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.aggregationLabel": "聚合 {name}", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.filterLabel": "KQL 筛选 {name}", - "xpack.observability.threshold.rule.alerts.dataTimeRangeLabel": "过去 {lookback} {timeLabel}", - "xpack.observability.threshold.rule.alerts.dataTimeRangeLabelWithGrouping": "{id} 过去 {lookback} {timeLabel}的数据", - "xpack.observability.threshold.rule.threshold.errorAlertReason": "Elasticsearch 尝试查询 {metric} 的数据时出现故障", - "xpack.observability.threshold.rule.threshold.firedAlertReason": "过去 {duration}{group},{metric} 为 {currentValue}。{comparator} {threshold} 时告警。", - "xpack.observability.threshold.rule.threshold.noDataAlertReason": "对于 {group},{metric} 在过去 {interval}中未报告数据", - "xpack.observability.threshold.rule.threshold.recoveredAlertReason": "对于 {group},{metric} 现在{comparator}阈值 {threshold}(当前值为 {currentValue})", - "xpack.observability.threshold.rule.threshold.thresholdRange": "{a} 和 {b}", - "xpack.observability.threshold.rule.thresholdExtraTitle": "{comparator} {threshold} 时告警", "xpack.observability.transactionRateLabel": "{value} tpm", "xpack.observability.ux.coreVitals.averageMessage": " 且小于 {bad}", "xpack.observability.ux.coreVitals.paletteLegend.rankPercentage": "{labelsInd} ({ranksInd}%)", @@ -27584,81 +27572,6 @@ "xpack.observability.statusVisualization.ux.link": "添加数据", "xpack.observability.statusVisualization.ux.title": "用户体验", "xpack.observability.syntheticsThrottlingEnabledExperimentName": "启用 Synthetics 限制(实验性)", - "xpack.observability.threshold.rule..charts.errorMessage": "哇哦,出问题了", - "xpack.observability.threshold.rule..charts.noDataMessage": "没有可用图表数据", - "xpack.observability.threshold.rule..timeLabels.days": "天", - "xpack.observability.threshold.rule..timeLabels.hours": "小时", - "xpack.observability.threshold.rule..timeLabels.minutes": "分钟", - "xpack.observability.threshold.rule..timeLabels.seconds": "秒", - "xpack.observability.threshold.rule.alertDetailsAppSection.summaryField.rule": "规则", - "xpack.observability.threshold.rule.alertDetailsAppSection.thresholdTitle": "超出阈值", - "xpack.observability.threshold.rule.alertDetailUrlActionVariableDescription": "链接到告警故障排除视图获取进一步的上下文和详情。如果未配置 server.publicBaseUrl,这将为空字符串。", - "xpack.observability.threshold.rule.alertDropdownTitle": "告警和规则", - "xpack.observability.threshold.rule.alertFlyout.addCondition": "添加条件", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.avg": "平均值", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.cardinality": "基数", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.count": "文档计数", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.max": "最大值", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.min": "最小值", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.p95": "第 95 个百分位", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.p99": "第 99 个百分位", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.rate": "比率", - "xpack.observability.threshold.rule.alertFlyout.aggregationText.sum": "求和", - "xpack.observability.threshold.rule.alertFlyout.alertDescription": "任何 Observability 数据类型到达或超出给定值时告警。", - "xpack.observability.threshold.rule.alertFlyout.alertOnGroupDisappear": "组停止报告数据时提醒我", - "xpack.observability.threshold.rule.alertFlyout.alertPerRedundantFilterError.docsLink": "文档", - "xpack.observability.threshold.rule.alertFlyout.createAlertPerHelpText": "为每个唯一值创建告警。例如:“host.id”或“cloud.region”。", - "xpack.observability.threshold.rule.alertFlyout.createAlertPerText": "告警分组依据(可选)", - "xpack.observability.threshold.rule.alertFlyout.customEquation": "定制方程", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.addCustomRow": "添加聚合/字段", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.deleteRowButton": "删除", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.equationHelpMessage": "支持基本匹配表达式", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelHelpMessage": "定制标签将在告警图表上以及原因/告警标题中显示", - "xpack.observability.threshold.rule.alertFlyout.customEquationEditor.labelLabel": "标签(可选)", - "xpack.observability.threshold.rule.alertFlyout.docCountNoDataDisabledHelpText": "[此设置不适用于文档计数聚合器。]", - "xpack.observability.threshold.rule.alertFlyout.error.aggregationRequired": "“聚合”必填。", - "xpack.observability.threshold.rule.alertFlyout.error.equation.invalidCharacters": "方程字段仅支持以下字符:A-Z、+、-、/、*、(、)、?、!、&、:、|、>、<、=", - "xpack.observability.threshold.rule.alertFlyout.error.invalidFilterQuery": "筛选查询无效。", - "xpack.observability.threshold.rule.alertFlyout.error.metricRequired": "“指标”必填。", - "xpack.observability.threshold.rule.alertFlyout.error.thresholdRequired": "“阈值”必填。", - "xpack.observability.threshold.rule.alertFlyout.error.thresholdTypeRequired": "阈值必须包含有效数字。", - "xpack.observability.threshold.rule.alertFlyout.error.timeRequred": "“时间大小”必填。", - "xpack.observability.threshold.rule.alertFlyout.groupDisappearHelpText": "启用此选项可在之前检测的组开始不报告任何数据时触发操作。不建议将此选项用于可能会快速自动启动和停止节点的动态扩展基础架构。", - "xpack.observability.threshold.rule.alertFlyout.outsideRangeLabel": "不介于", - "xpack.observability.threshold.rule.alertFlyout.removeCondition": "删除条件", - "xpack.observability.threshold.rule.alerting.noDataFormattedValue": "[无数据]", - "xpack.observability.threshold.rule.alerting.threshold.defaultActionMessage": "\\{\\{alertName\\}\\} - \\{\\{context.group\\}\\} 处于 \\{\\{context.alertState\\}\\} 状态\n\n 原因:\n \\{\\{context.reason\\}\\}\n ", - "xpack.observability.threshold.rule.alerting.threshold.fired": "告警", - "xpack.observability.threshold.rule.alerting.threshold.nodata": "无数据", - "xpack.observability.threshold.rule.alerting.threshold.noDataFormattedValue": "[无数据]", - "xpack.observability.threshold.rule.alertsButton": "告警和规则", - "xpack.observability.threshold.rule.cloudActionVariableDescription": "ECS 定义的云对象(如果在源中可用)。", - "xpack.observability.threshold.rule.containerActionVariableDescription": "ECS 定义的容器对象(如果在源中可用)。", - "xpack.observability.threshold.rule.createInventoryRuleButton": "创建库存规则", - "xpack.observability.threshold.rule.createThresholdRuleButton": "创建阈值规则", - "xpack.observability.threshold.rule.groupByKeysActionVariableDescription": "包含正报告数据的组的对象", - "xpack.observability.threshold.rule.hostActionVariableDescription": "ECS 定义的主机对象(如果在源中可用)。", - "xpack.observability.threshold.rule.infrastructureDropdownMenu": "基础设施", - "xpack.observability.threshold.rule.infrastructureDropdownTitle": "基础设施规则", - "xpack.observability.threshold.rule.labelsActionVariableDescription": "与在其上触发此告警的实体关联的标签列表。", - "xpack.observability.threshold.rule.manageRules": "管理规则", - "xpack.observability.threshold.rule.metricsDropdownMenu": "指标", - "xpack.observability.threshold.rule.metricsDropdownTitle": "指标规则", - "xpack.observability.threshold.rule.orchestratorActionVariableDescription": "ECS 定义的 Orchestrator 对象(如果在源中可用)。", - "xpack.observability.threshold.rule.reasonActionVariableDescription": "告警原因的简洁描述", - "xpack.observability.threshold.rule.sourceConfiguration.missingHttp": "无法加载源:无 HTTP 客户端可用。", - "xpack.observability.threshold.rule.sourceConfiguration.updateFailureBody": "无法对指标配置应用更改。请稍后重试。", - "xpack.observability.threshold.rule.sourceConfiguration.updateFailureTitle": "配置更新失败", - "xpack.observability.threshold.rule.sourceConfiguration.updateSuccessTitle": "已成功更新指标设置", - "xpack.observability.threshold.rule.tagsActionVariableDescription": "与在其上触发此告警的实体关联的标记列表。", - "xpack.observability.threshold.rule.threshold.aboveRecovery": "高于", - "xpack.observability.threshold.rule.threshold.belowRecovery": "低于", - "xpack.observability.threshold.rule.threshold.betweenRecovery": "介于", - "xpack.observability.threshold.rule.threshold.customEquation": "定制方程", - "xpack.observability.threshold.rule.threshold.documentCount": "文档计数", - "xpack.observability.threshold.rule.timestampDescription": "检测到告警时的时间戳。", - "xpack.observability.threshold.rule.valueActionVariableDescription": "指定条件中的指标值。用法:(ctx.value.condition0, ctx.value.condition1, 诸如此类)。", - "xpack.observability.threshold.rule.viewInAppUrlActionVariableDescription": "链接到告警源", "xpack.observability.threshold.ruleExplorer.groupByAriaLabel": "图表绘制依据", "xpack.observability.threshold.ruleExplorer.groupByLabel": "所有内容", "xpack.observability.threshold.ruleName": "阈值(技术预览)", diff --git a/x-pack/test/alerting_api_integration/observability/threshold_rule/avg_pct_fired.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_fired.ts similarity index 90% rename from x-pack/test/alerting_api_integration/observability/threshold_rule/avg_pct_fired.ts rename to x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_fired.ts index 7bb8874dafed9..8df0f20e88de7 100644 --- a/x-pack/test/alerting_api_integration/observability/threshold_rule/avg_pct_fired.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_fired.ts @@ -6,8 +6,11 @@ */ import { cleanup, generate } from '@kbn/infra-forge'; -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { createIndexConnector, createRule } from '../helpers/alerting_api_helper'; @@ -22,8 +25,8 @@ export default function ({ getService }: FtrProviderContext) { const esDeleteAllIndices = getService('esDeleteAllIndices'); const logger = getService('log'); - describe('Threshold rule - AVG - PCT - FIRED', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe('Custom Threshold rule - AVG - PCT - FIRED', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id'; let infraDataIndex: string; @@ -44,7 +47,7 @@ export default function ({ getService }: FtrProviderContext) { await supertest.delete(`/api/alerting/rule/${ruleId}`).set('kbn-xsrf', 'foo'); await supertest.delete(`/api/actions/connector/${actionId}`).set('kbn-xsrf', 'foo'); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -131,13 +134,13 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await waitForAlertInIndex({ esClient, - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -145,14 +148,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.fired'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.fired' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', '*'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); diff --git a/x-pack/test/alerting_api_integration/observability/threshold_rule/avg_pct_no_data.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_no_data.ts similarity index 90% rename from x-pack/test/alerting_api_integration/observability/threshold_rule/avg_pct_no_data.ts rename to x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_no_data.ts index c0138d993e6bd..d57398def6381 100644 --- a/x-pack/test/alerting_api_integration/observability/threshold_rule/avg_pct_no_data.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_pct_no_data.ts @@ -5,8 +5,11 @@ * 2.0. */ -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; @@ -20,8 +23,8 @@ export default function ({ getService }: FtrProviderContext) { const esClient = getService('es'); const supertest = getService('supertest'); - describe('Threshold rule - AVG - PCT - NoData', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe('Custom Threshold rule - AVG - PCT - NoData', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id-no-data'; let actionId: string; @@ -40,7 +43,7 @@ export default function ({ getService }: FtrProviderContext) { await supertest.delete(`/api/alerting/rule/${ruleId}`).set('kbn-xsrf', 'foo'); await supertest.delete(`/api/actions/connector/${actionId}`).set('kbn-xsrf', 'foo'); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -125,13 +128,13 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await waitForAlertInIndex({ esClient, - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -139,14 +142,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.nodata'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.nodata' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', '*'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); diff --git a/x-pack/test/alerting_api_integration/observability/threshold_rule/avg_us_fired.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_us_fired.ts similarity index 92% rename from x-pack/test/alerting_api_integration/observability/threshold_rule/avg_us_fired.ts rename to x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_us_fired.ts index 1c35793e04337..b4570771b9f2f 100644 --- a/x-pack/test/alerting_api_integration/observability/threshold_rule/avg_us_fired.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/avg_us_fired.ts @@ -8,8 +8,11 @@ import moment from 'moment'; import { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; import { format } from 'url'; -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { FtrProviderContext } from '../../common/ftr_provider_context'; @@ -33,8 +36,8 @@ export default function ({ getService }: FtrProviderContext) { const kibanaUrl = format(kibanaServerConfig); const supertest = getService('supertest'); - describe('Threshold rule - AVG - US - FIRED', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe('Custom Threshold rule - AVG - US - FIRED', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id'; @@ -60,7 +63,7 @@ export default function ({ getService }: FtrProviderContext) { await supertest.delete(`/api/actions/connector/${actionId}`).set('kbn-xsrf', 'foo'); await esDeleteAllIndices([ALERT_ACTION_INDEX]); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -149,7 +152,7 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await waitForAlertInIndex({ esClient, - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); alertId = (resp.hits.hits[0]._source as any)['kibana.alert.uuid']; @@ -157,7 +160,7 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -165,14 +168,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.fired'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.fired' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', '*'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); @@ -210,7 +216,7 @@ export default function ({ getService }: FtrProviderContext) { indexName: ALERT_ACTION_INDEX, }); - expect(resp.hits.hits[0]._source?.ruleType).eql('observability.rules.threshold'); + expect(resp.hits.hits[0]._source?.ruleType).eql('observability.rules.custom_threshold'); expect(resp.hits.hits[0]._source?.alertDetailsUrl).eql( `https://localhost:5601/app/observability/alerts?_a=(kuery:%27kibana.alert.uuid:%20%22${alertId}%22%27%2CrangeFrom:%27${rangeFrom}%27%2CrangeTo:now%2Cstatus:all)` ); diff --git a/x-pack/test/alerting_api_integration/observability/threshold_rule/custom_eq_avg_bytes_fired.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts similarity index 91% rename from x-pack/test/alerting_api_integration/observability/threshold_rule/custom_eq_avg_bytes_fired.ts rename to x-pack/test/alerting_api_integration/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts index 794902f19688f..8499511391ab6 100644 --- a/x-pack/test/alerting_api_integration/observability/threshold_rule/custom_eq_avg_bytes_fired.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts @@ -12,8 +12,11 @@ */ import { cleanup, generate } from '@kbn/infra-forge'; -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { createIndexConnector, createRule } from '../helpers/alerting_api_helper'; @@ -28,8 +31,8 @@ export default function ({ getService }: FtrProviderContext) { const esDeleteAllIndices = getService('esDeleteAllIndices'); const logger = getService('log'); - describe('Threshold rule - CUSTOM_EQ - AVG - BYTES - FIRED', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe('Custom Threshold rule - CUSTOM_EQ - AVG - BYTES - FIRED', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id'; let infraDataIndex: string; @@ -50,7 +53,7 @@ export default function ({ getService }: FtrProviderContext) { await supertest.delete(`/api/alerting/rule/${ruleId}`).set('kbn-xsrf', 'foo'); await supertest.delete(`/api/actions/connector/${actionId}`).set('kbn-xsrf', 'foo'); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -139,13 +142,13 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await waitForAlertInIndex({ esClient, - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -153,14 +156,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.fired'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.fired' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', '*'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); diff --git a/x-pack/test/alerting_api_integration/observability/threshold_rule/documents_count_fired.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/documents_count_fired.ts similarity index 90% rename from x-pack/test/alerting_api_integration/observability/threshold_rule/documents_count_fired.ts rename to x-pack/test/alerting_api_integration/observability/custom_threshold_rule/documents_count_fired.ts index 3361f4a04e185..99f313960fa6b 100644 --- a/x-pack/test/alerting_api_integration/observability/threshold_rule/documents_count_fired.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/documents_count_fired.ts @@ -6,8 +6,11 @@ */ import { cleanup, generate } from '@kbn/infra-forge'; -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { createIndexConnector, createRule } from '../helpers/alerting_api_helper'; @@ -22,8 +25,8 @@ export default function ({ getService }: FtrProviderContext) { const esDeleteAllIndices = getService('esDeleteAllIndices'); const logger = getService('log'); - describe('Threshold rule - DOCUMENTS_COUNT - FIRED', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe('Custom Threshold rule - DOCUMENTS_COUNT - FIRED', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id'; let infraDataIndex: string; @@ -44,7 +47,7 @@ export default function ({ getService }: FtrProviderContext) { await supertest.delete(`/api/alerting/rule/${ruleId}`).set('kbn-xsrf', 'foo'); await supertest.delete(`/api/actions/connector/${actionId}`).set('kbn-xsrf', 'foo'); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -129,13 +132,13 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await waitForAlertInIndex({ esClient, - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -143,14 +146,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.fired'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.fired' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', '*'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); diff --git a/x-pack/test/alerting_api_integration/observability/threshold_rule/group_by_fired.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/group_by_fired.ts similarity index 92% rename from x-pack/test/alerting_api_integration/observability/threshold_rule/group_by_fired.ts rename to x-pack/test/alerting_api_integration/observability/custom_threshold_rule/group_by_fired.ts index 9d3e5e2bd17ad..5925907b471b6 100644 --- a/x-pack/test/alerting_api_integration/observability/threshold_rule/group_by_fired.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule/group_by_fired.ts @@ -13,8 +13,11 @@ import moment from 'moment'; import { cleanup, generate } from '@kbn/infra-forge'; -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { createIndexConnector, createRule } from '../helpers/alerting_api_helper'; @@ -35,8 +38,8 @@ export default function ({ getService }: FtrProviderContext) { let alertId: string; let startedAt: string; - describe('Threshold rule - GROUP_BY - FIRED', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe('Custom Threshold rule - GROUP_BY - FIRED', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id'; let infraDataIndex: string; @@ -57,7 +60,7 @@ export default function ({ getService }: FtrProviderContext) { await supertest.delete(`/api/alerting/rule/${ruleId}`).set('kbn-xsrf', 'foo'); await supertest.delete(`/api/actions/connector/${actionId}`).set('kbn-xsrf', 'foo'); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -149,7 +152,7 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await waitForAlertInIndex({ esClient, - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); alertId = (resp.hits.hits[0]._source as any)['kibana.alert.uuid']; @@ -157,7 +160,7 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -165,14 +168,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.fired'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.fired' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', 'host-0'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); @@ -220,7 +226,7 @@ export default function ({ getService }: FtrProviderContext) { indexName: ALERT_ACTION_INDEX, }); - expect(resp.hits.hits[0]._source?.ruleType).eql('observability.rules.threshold'); + expect(resp.hits.hits[0]._source?.ruleType).eql('observability.rules.custom_threshold'); expect(resp.hits.hits[0]._source?.alertDetailsUrl).eql( `https://localhost:5601/app/observability/alerts?_a=(kuery:%27kibana.alert.uuid:%20%22${alertId}%22%27%2CrangeFrom:%27${rangeFrom}%27%2CrangeTo:now%2Cstatus:all)` ); diff --git a/x-pack/test/alerting_api_integration/observability/threshold_rule_data_view.ts b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule_data_view.ts similarity index 96% rename from x-pack/test/alerting_api_integration/observability/threshold_rule_data_view.ts rename to x-pack/test/alerting_api_integration/observability/custom_threshold_rule_data_view.ts index f4d26f961c234..3119a0ae46e63 100644 --- a/x-pack/test/alerting_api_integration/observability/threshold_rule_data_view.ts +++ b/x-pack/test/alerting_api_integration/observability/custom_threshold_rule_data_view.ts @@ -6,7 +6,10 @@ */ import expect from '@kbn/expect'; -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { FtrProviderContext } from '../common/ftr_provider_context'; @@ -20,7 +23,7 @@ export default function ({ getService }: FtrProviderContext) { const objectRemover = new ObjectRemover(supertest); const es = getService('es'); - describe('Threshold rule data view >', () => { + describe('Custom Threshold rule data view >', () => { const DATA_VIEW_ID = 'data-view-id'; let ruleId: string; diff --git a/x-pack/test/alerting_api_integration/observability/helpers/alerting_api_helper.ts b/x-pack/test/alerting_api_integration/observability/helpers/alerting_api_helper.ts index a50e1b4e85c14..4bde235e97dd2 100644 --- a/x-pack/test/alerting_api_integration/observability/helpers/alerting_api_helper.ts +++ b/x-pack/test/alerting_api_integration/observability/helpers/alerting_api_helper.ts @@ -6,7 +6,7 @@ */ import { MetricThresholdParams } from '@kbn/infra-plugin/common/alerting/metrics'; -import { ThresholdParams } from '@kbn/observability-plugin/common/threshold_rule/types'; +import { ThresholdParams } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import type { SuperTest, Test } from 'supertest'; export async function createIndexConnector({ diff --git a/x-pack/test/alerting_api_integration/observability/index.ts b/x-pack/test/alerting_api_integration/observability/index.ts index 7bc5a5caab0b2..884c17d2abfd1 100644 --- a/x-pack/test/alerting_api_integration/observability/index.ts +++ b/x-pack/test/alerting_api_integration/observability/index.ts @@ -10,13 +10,13 @@ export default function ({ loadTestFile }: any) { describe('Observability Rules', () => { describe('Rules Endpoints', () => { loadTestFile(require.resolve('./metric_threshold_rule')); - loadTestFile(require.resolve('./threshold_rule/avg_pct_fired')); - loadTestFile(require.resolve('./threshold_rule/avg_pct_no_data')); - loadTestFile(require.resolve('./threshold_rule/avg_us_fired')); - loadTestFile(require.resolve('./threshold_rule/custom_eq_avg_bytes_fired')); - loadTestFile(require.resolve('./threshold_rule/documents_count_fired')); - loadTestFile(require.resolve('./threshold_rule/group_by_fired')); - loadTestFile(require.resolve('./threshold_rule_data_view')); + loadTestFile(require.resolve('./custom_threshold_rule/avg_pct_fired')); + loadTestFile(require.resolve('./custom_threshold_rule/avg_pct_no_data')); + loadTestFile(require.resolve('./custom_threshold_rule/avg_us_fired')); + loadTestFile(require.resolve('./custom_threshold_rule/custom_eq_avg_bytes_fired')); + loadTestFile(require.resolve('./custom_threshold_rule/documents_count_fired')); + loadTestFile(require.resolve('./custom_threshold_rule/group_by_fired')); + loadTestFile(require.resolve('./custom_threshold_rule_data_view')); }); describe('Synthetics', () => { loadTestFile(require.resolve('./synthetics_rule')); diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/check_registered_rule_types.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/check_registered_rule_types.ts index 40197f1e18783..e748478b18432 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/check_registered_rule_types.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/check_registered_rule_types.ts @@ -63,7 +63,7 @@ export default function createRegisteredRuleTypeTests({ getService }: FtrProvide 'monitoring_alert_elasticsearch_version_mismatch', 'monitoring_ccr_read_exceptions', 'monitoring_shard_size', - 'observability.rules.threshold', + 'observability.rules.custom_threshold', 'apm.transaction_duration', 'apm.anomaly', 'apm.error_rate', diff --git a/x-pack/test_serverless/api_integration/services/alerting_api.ts b/x-pack/test_serverless/api_integration/services/alerting_api.ts index 8eb771d7eb11d..668dcdab82aa0 100644 --- a/x-pack/test_serverless/api_integration/services/alerting_api.ts +++ b/x-pack/test_serverless/api_integration/services/alerting_api.ts @@ -11,7 +11,7 @@ import type { } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { MetricThresholdParams } from '@kbn/infra-plugin/common/alerting/metrics'; -import { ThresholdParams } from '@kbn/observability-plugin/common/threshold_rule/types'; +import { ThresholdParams } from '@kbn/observability-plugin/common/custom_threshold_rule/types'; import { FtrProviderContext } from '../ftr_provider_context'; diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/avg_pct_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts similarity index 90% rename from x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/avg_pct_fired.ts rename to x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts index 77114463eb89f..f75faa2b2f686 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/avg_pct_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_fired.ts @@ -6,8 +6,11 @@ */ import { cleanup, generate } from '@kbn/infra-forge'; -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { FtrProviderContext } from '../../../ftr_provider_context'; @@ -22,8 +25,8 @@ export default function ({ getService }: FtrProviderContext) { // Blocked API: index_not_found_exception: no such index [.alerts-observability.threshold.alerts-default] // Issue: https://github.com/elastic/kibana/issues/165138 - describe.skip('Threshold rule - AVG - PCT - FIRED', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe.skip('Custom Threshold rule - AVG - PCT - FIRED', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id'; let infraDataIndex: string; @@ -49,7 +52,7 @@ export default function ({ getService }: FtrProviderContext) { .set('kbn-xsrf', 'foo') .set('x-elastic-internal-origin', 'foo'); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -131,13 +134,13 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await alertingApi.waitForAlertInIndex({ - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -145,14 +148,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.fired'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.fired' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', '*'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/avg_pct_no_data.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts similarity index 90% rename from x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/avg_pct_no_data.ts rename to x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts index cbfdf251ba602..fbcb7a1404293 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/avg_pct_no_data.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/avg_pct_no_data.ts @@ -5,8 +5,11 @@ * 2.0. */ -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { FtrProviderContext } from '../../../ftr_provider_context'; @@ -19,8 +22,8 @@ export default function ({ getService }: FtrProviderContext) { // Blocked API: index_not_found_exception: no such index [.alerts-observability.threshold.alerts-default] // Issue: https://github.com/elastic/kibana/issues/165138 - describe.skip('Threshold rule - AVG - PCT - NoData', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe.skip('Custom Threshold rule - AVG - PCT - NoData', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id-no-data'; let actionId: string; @@ -44,7 +47,7 @@ export default function ({ getService }: FtrProviderContext) { .set('kbn-xsrf', 'foo') .set('x-elastic-internal-origin', 'foo'); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -124,13 +127,13 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await alertingApi.waitForAlertInIndex({ - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -138,14 +141,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.nodata'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.nodata' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', '*'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/custom_eq_avg_bytes_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts similarity index 91% rename from x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/custom_eq_avg_bytes_fired.ts rename to x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts index 81b57e492f100..3e996e555b092 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/custom_eq_avg_bytes_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/custom_eq_avg_bytes_fired.ts @@ -12,8 +12,11 @@ */ import { cleanup, generate } from '@kbn/infra-forge'; -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { FtrProviderContext } from '../../../ftr_provider_context'; @@ -27,8 +30,8 @@ export default function ({ getService }: FtrProviderContext) { const dataViewApi = getService('dataViewApi'); // Issue: https://github.com/elastic/kibana/issues/165138 - describe.skip('Threshold rule - CUSTOM_EQ - AVG - BYTES - FIRED', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe.skip('Custom Threshold rule - CUSTOM_EQ - AVG - BYTES - FIRED', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id'; let infraDataIndex: string; @@ -54,7 +57,7 @@ export default function ({ getService }: FtrProviderContext) { .set('kbn-xsrf', 'foo') .set('x-elastic-internal-origin', 'foo'); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -138,13 +141,13 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await alertingApi.waitForAlertInIndex({ - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -152,14 +155,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.fired'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.fired' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', '*'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/documents_count_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts similarity index 90% rename from x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/documents_count_fired.ts rename to x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts index ad0624a91dfb1..1fa95b8cab8a9 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/documents_count_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/documents_count_fired.ts @@ -6,8 +6,11 @@ */ import { cleanup, generate } from '@kbn/infra-forge'; -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { FtrProviderContext } from '../../../ftr_provider_context'; @@ -21,8 +24,8 @@ export default function ({ getService }: FtrProviderContext) { const dataViewApi = getService('dataViewApi'); // Issue: https://github.com/elastic/kibana/issues/165138 - describe.skip('Threshold rule - DOCUMENTS_COUNT - FIRED', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe.skip('Custom Threshold rule - DOCUMENTS_COUNT - FIRED', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id'; let infraDataIndex: string; @@ -48,7 +51,7 @@ export default function ({ getService }: FtrProviderContext) { .set('kbn-xsrf', 'foo') .set('x-elastic-internal-origin', 'foo'); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -128,13 +131,13 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await alertingApi.waitForAlertInIndex({ - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -142,14 +145,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.fired'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.fired' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', '*'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/group_by_fired.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts similarity index 92% rename from x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/group_by_fired.ts rename to x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts index 5cadfbc6b3d9d..8bd8312a5184a 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/group_by_fired.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/group_by_fired.ts @@ -14,8 +14,11 @@ import { kbnTestConfig } from '@kbn/test'; import moment from 'moment'; import { cleanup, generate } from '@kbn/infra-forge'; -import { Aggregators, Comparator } from '@kbn/observability-plugin/common/threshold_rule/types'; -import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/threshold/threshold_executor'; +import { + Aggregators, + Comparator, +} from '@kbn/observability-plugin/common/custom_threshold_rule/types'; +import { FIRED_ACTIONS_ID } from '@kbn/observability-plugin/server/lib/rules/custom_threshold/custom_threshold_executor'; import expect from '@kbn/expect'; import { OBSERVABILITY_THRESHOLD_RULE_TYPE_ID } from '@kbn/observability-plugin/common/constants'; import { FtrProviderContext } from '../../../ftr_provider_context'; @@ -31,8 +34,8 @@ export default function ({ getService }: FtrProviderContext) { let startedAt: string; // Issue: https://github.com/elastic/kibana/issues/165138 - describe.skip('Threshold rule - GROUP_BY - FIRED', () => { - const THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; + describe.skip('Custom Threshold rule - GROUP_BY - FIRED', () => { + const CUSTOM_THRESHOLD_RULE_ALERT_INDEX = '.alerts-observability.threshold.alerts-default'; const ALERT_ACTION_INDEX = 'alert-action-threshold'; const DATA_VIEW_ID = 'data-view-id'; let infraDataIndex: string; @@ -58,7 +61,7 @@ export default function ({ getService }: FtrProviderContext) { .set('kbn-xsrf', 'foo') .set('x-elastic-internal-origin', 'foo'); await esClient.deleteByQuery({ - index: THRESHOLD_RULE_ALERT_INDEX, + index: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, query: { term: { 'kibana.alert.rule.uuid': ruleId } }, }); await esClient.deleteByQuery({ @@ -145,7 +148,7 @@ export default function ({ getService }: FtrProviderContext) { it('should set correct information in the alert document', async () => { const resp = await alertingApi.waitForAlertInIndex({ - indexName: THRESHOLD_RULE_ALERT_INDEX, + indexName: CUSTOM_THRESHOLD_RULE_ALERT_INDEX, ruleId, }); alertId = (resp.hits.hits[0]._source as any)['kibana.alert.uuid']; @@ -153,7 +156,7 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.category', - 'Threshold (Technical Preview)' + 'Custom threshold (BETA)' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.consumer', 'alerts'); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.name', 'Threshold rule'); @@ -161,14 +164,17 @@ export default function ({ getService }: FtrProviderContext) { expect(resp.hits.hits[0]._source).property('kibana.alert.rule.revision', 0); expect(resp.hits.hits[0]._source).property( 'kibana.alert.rule.rule_type_id', - 'observability.rules.threshold' + 'observability.rules.custom_threshold' ); expect(resp.hits.hits[0]._source).property('kibana.alert.rule.uuid', ruleId); expect(resp.hits.hits[0]._source).property('kibana.space_ids').contain('default'); expect(resp.hits.hits[0]._source) .property('kibana.alert.rule.tags') .contain('observability'); - expect(resp.hits.hits[0]._source).property('kibana.alert.action_group', 'threshold.fired'); + expect(resp.hits.hits[0]._source).property( + 'kibana.alert.action_group', + 'custom_threshold.fired' + ); expect(resp.hits.hits[0]._source).property('tags').contain('observability'); expect(resp.hits.hits[0]._source).property('kibana.alert.instance.id', 'host-0'); expect(resp.hits.hits[0]._source).property('kibana.alert.workflow_status', 'open'); @@ -216,7 +222,7 @@ export default function ({ getService }: FtrProviderContext) { }); const { protocol, hostname, port } = kbnTestConfig.getUrlParts(); - expect(resp.hits.hits[0]._source?.ruleType).eql('observability.rules.threshold'); + expect(resp.hits.hits[0]._source?.ruleType).eql('observability.rules.custom_threshold'); expect(resp.hits.hits[0]._source?.alertDetailsUrl).eql( `${protocol}://${hostname}:${port}/app/observability/alerts?_a=(kuery:%27kibana.alert.uuid:%20%22${alertId}%22%27%2CrangeFrom:%27${rangeFrom}%27%2CrangeTo:now%2Cstatus:all)` ); diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/index.ts b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/index.ts similarity index 93% rename from x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/index.ts rename to x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/index.ts index dbb8968d2d946..944068af6a21b 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/threshold_rule/index.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/custom_threshold_rule/index.ts @@ -8,7 +8,7 @@ import { FtrProviderContext } from '../../../ftr_provider_context'; export default function ({ loadTestFile }: FtrProviderContext) { - describe('Threshold Rule', function () { + describe('Custom Threshold Rule', function () { loadTestFile(require.resolve('./avg_pct_fired')); loadTestFile(require.resolve('./avg_pct_no_data')); loadTestFile(require.resolve('./documents_count_fired')); diff --git a/x-pack/test_serverless/api_integration/test_suites/observability/index.feature_flags.ts b/x-pack/test_serverless/api_integration/test_suites/observability/index.feature_flags.ts index d9643f91d70ae..a3a5ab552ee3f 100644 --- a/x-pack/test_serverless/api_integration/test_suites/observability/index.feature_flags.ts +++ b/x-pack/test_serverless/api_integration/test_suites/observability/index.feature_flags.ts @@ -9,6 +9,6 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ loadTestFile }: FtrProviderContext) { describe('Serverless observability API - feature flags', function () { - loadTestFile(require.resolve('./threshold_rule')); + loadTestFile(require.resolve('./custom_threshold_rule')); }); } From 6561cd2e0c5eb783ec1c2f18fd9041834927334b Mon Sep 17 00:00:00 2001 From: Elastic Machine <elasticmachine@users.noreply.github.com> Date: Mon, 18 Sep 2023 22:52:19 +1000 Subject: [PATCH 081/149] Update kubernetes templates for elastic-agent (#166594) Automated by https://fleet-ci.elastic.co/job/elastic-agent/job/elastic-agent-mbp/job/main/1360/ --------- Co-authored-by: obscloudnativemonitoring <obs-cloudnative-monitoring@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../plugins/fleet/server/services/elastic_agent_manifest.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts b/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts index 578625d1a38ab..385b1095cb9f4 100644 --- a/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts +++ b/x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts @@ -42,7 +42,7 @@ spec: # - -c # - >- # mkdir -p /etc/elastic-agent/inputs.d && - # wget -O - https://github.com/elastic/elastic-agent/archive/main.tar.gz | tar xz -C /etc/elastic-agent/inputs.d --strip=5 "elastic-agent-main/deploy/kubernetes/elastic-agent-standalone/templates.d" + # wget -O - https://github.com/elastic/elastic-agent/archive/main.tar.gz | tar xz -C /etc/elastic-agent/inputs.d --strip=5 "elastic-agent-main/deploy/kubernetes/elastic-agent/templates.d" # volumeMounts: # - name: external-inputs # mountPath: /etc/elastic-agent/inputs.d @@ -71,7 +71,7 @@ spec: # The following ELASTIC_NETINFO:false variable will disable the netinfo.enabled option of add-host-metadata processor. This will remove fields host.ip and host.mac. # For more info: https://www.elastic.co/guide/en/beats/metricbeat/current/add-host-metadata.html - name: ELASTIC_NETINFO - value: "false" + value: "false" securityContext: runAsUser: 0 # The following capabilities are needed for 'Defend for containers' integration (cloud-defend) @@ -396,7 +396,7 @@ spec: # The following ELASTIC_NETINFO:false variable will disable the netinfo.enabled option of add-host-metadata processor. This will remove fields host.ip and host.mac. # For more info: https://www.elastic.co/guide/en/beats/metricbeat/current/add-host-metadata.html - name: ELASTIC_NETINFO - value: "false" + value: "false" securityContext: runAsUser: 0 # The following capabilities are needed for 'Defend for containers' integration (cloud-defend) From 555dd7e75e469d79c6d36c22673dc19495d0b7b7 Mon Sep 17 00:00:00 2001 From: Robert Oskamp <robert.oskamp@elastic.co> Date: Mon, 18 Sep 2023 14:55:56 +0200 Subject: [PATCH 082/149] FTR - Adjust check for successful navigation (#166605) ## Summary This PR adjusts the FTR check for successful navigation to also take ports on the `appUrl` into account when comparing to `currentUrl` that already had the ports removed for the comparison. --- test/functional/page_objects/common_page.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/functional/page_objects/common_page.ts b/test/functional/page_objects/common_page.ts index 1424d952653cd..4218d19712aa0 100644 --- a/test/functional/page_objects/common_page.ts +++ b/test/functional/page_objects/common_page.ts @@ -299,7 +299,7 @@ export class CommonPageObject extends FtrService { const navSuccessful = currentUrl .replace(':80/', '/') .replace(':443/', '/') - .startsWith(appUrl); + .startsWith(appUrl.replace(':80/', '/').replace(':443/', '/')); if (!navSuccessful) { const msg = `App failed to load: ${appName} in ${this.defaultFindTimeout}ms appUrl=${appUrl} currentUrl=${currentUrl}`; From faf87740988d9544bcb380dbc57323ccd52416f4 Mon Sep 17 00:00:00 2001 From: Vadim Kibana <82822460+vadimkibana@users.noreply.github.com> Date: Mon, 18 Sep 2023 15:08:44 +0200 Subject: [PATCH 083/149] New tags do not show spurious suggestions (#166229) ## Summary Closes https://github.com/elastic/kibana/issues/127509 --- .../public/components/edition_modal/create_or_edit_modal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/saved_objects_tagging/public/components/edition_modal/create_or_edit_modal.tsx b/x-pack/plugins/saved_objects_tagging/public/components/edition_modal/create_or_edit_modal.tsx index ac4a2ac490b4d..f972220843b47 100644 --- a/x-pack/plugins/saved_objects_tagging/public/components/edition_modal/create_or_edit_modal.tsx +++ b/x-pack/plugins/saved_objects_tagging/public/components/edition_modal/create_or_edit_modal.tsx @@ -125,7 +125,7 @@ export const CreateOrEditModal: FC<CreateOrEditModalProps> = ({ error={validation.errors.name} > <EuiFieldText - name="name" + name="tag-name" fullWidth={true} maxLength={tagNameMaxLength} value={tag.name} From 73d1c354d728708b005cdb1c49723ae7fdd24861 Mon Sep 17 00:00:00 2001 From: Dzmitry Lemechko <dzmitry.lemechko@elastic.co> Date: Mon, 18 Sep 2023 15:39:52 +0200 Subject: [PATCH 084/149] [kbn-es] use the same method to wait for cluster status (#166332) ## Summary Removing `cluster.waitForClusterReady` in favour of unified `waitUntilClusterReady` method. We will keep waiting for `yellow` cluster status in the FTR stateful tests and `green` in serverless tests. --- packages/kbn-es/src/cluster.ts | 49 ++--------- .../src/integration_tests/cluster.test.ts | 69 ++++++++++----- packages/kbn-es/src/utils/docker.test.ts | 37 ++++---- packages/kbn-es/src/utils/docker.ts | 5 +- .../utils/wait_until_cluster_ready.test.ts | 86 +++++++++++++++++++ .../src/utils/wait_until_cluster_ready.ts | 22 ++++- 6 files changed, 180 insertions(+), 88 deletions(-) create mode 100644 packages/kbn-es/src/utils/wait_until_cluster_ready.test.ts diff --git a/packages/kbn-es/src/cluster.ts b/packages/kbn-es/src/cluster.ts index 76c1119ab3584..cf61d768d7b0c 100644 --- a/packages/kbn-es/src/cluster.ts +++ b/packages/kbn-es/src/cluster.ts @@ -42,8 +42,7 @@ import { InstallSnapshotOptions, InstallSourceOptions, } from './install/types'; - -const DEFAULT_READY_TIMEOUT = 60 * 1000; +import { waitUntilClusterReady } from './utils/wait_until_cluster_ready'; // listen to data on stream until map returns anything but undefined const firstResult = (stream: Readable, map: (data: Buffer) => string | true | undefined) => @@ -426,7 +425,12 @@ export class Cluster { }); if (!skipReadyCheck) { - await this.waitForClusterReady(client, readyTimeout); + await waitUntilClusterReady({ + client, + expectedStatus: 'yellow', + log: this.log, + readyTimeout, + }); } // once the cluster is ready setup the native realm @@ -509,45 +513,6 @@ export class Cluster { }); } - async waitForClusterReady(client: Client, readyTimeout = DEFAULT_READY_TIMEOUT) { - let attempt = 0; - const start = Date.now(); - - this.log.info('waiting for ES cluster to report a yellow or green status'); - - while (true) { - attempt += 1; - - try { - const resp = await client.cluster.health(); - if (resp.status !== 'red') { - return; - } - - throw new Error(`not ready, cluster health is ${resp.status}`); - } catch (error) { - const timeSinceStart = Date.now() - start; - if (timeSinceStart > readyTimeout) { - const sec = readyTimeout / 1000; - throw new Error(`ES cluster failed to come online with the ${sec} second timeout`); - } - - if (error.message.startsWith('not ready,')) { - if (timeSinceStart > 10_000) { - this.log.warning(error.message); - } - } else { - this.log.warning( - `waiting for ES cluster to come online, attempt ${attempt} failed with: ${error.message}` - ); - } - - const waitSec = attempt * 1.5; - await new Promise((resolve) => setTimeout(resolve, waitSec * 1000)); - } - } - } - private getJavaOptions(opts: string | undefined) { let esJavaOpts = `${opts || ''} ${process.env.ES_JAVA_OPTS || ''}`; // ES now automatically sets heap size to 50% of the machine's available memory diff --git a/packages/kbn-es/src/integration_tests/cluster.test.ts b/packages/kbn-es/src/integration_tests/cluster.test.ts index dfe3d25f5ec65..cf6bba5df669b 100644 --- a/packages/kbn-es/src/integration_tests/cluster.test.ts +++ b/packages/kbn-es/src/integration_tests/cluster.test.ts @@ -12,6 +12,7 @@ import * as extractConfig from '../utils/extract_config_files'; import * as dockerUtils from '../utils/docker'; import { createAnyInstanceSerializer, createStripAnsiSerializer } from '@kbn/jest-serializers'; import * as installUtils from '../install'; +import * as waitClusterUtil from '../utils/wait_until_cluster_ready'; import { Cluster } from '../cluster'; import { ES_NOPASSWORD_P12_PATH } from '@kbn/dev-utils/src/certs'; import { @@ -20,8 +21,10 @@ import { InstallSnapshotOptions, InstallSourceOptions, } from '../install/types'; +import { Client } from '@elastic/elasticsearch'; expect.addSnapshotSerializer(createAnyInstanceSerializer(ToolingLog)); +expect.addSnapshotSerializer(createAnyInstanceSerializer(Client)); expect.addSnapshotSerializer(createStripAnsiSerializer()); const log = new ToolingLog(); @@ -101,6 +104,10 @@ jest.mock('../utils/docker', () => ({ runDockerContainer: jest.fn(), })); +jest.mock('../utils/wait_until_cluster_ready', () => ({ + waitUntilClusterReady: jest.fn(), +})); + const downloadSnapshotMock = jest.spyOn(installUtils, 'downloadSnapshot'); const installSourceMock = jest.spyOn(installUtils, 'installSource'); const installSnapshotMock = jest.spyOn(installUtils, 'installSnapshot'); @@ -108,6 +115,7 @@ const installArchiveMock = jest.spyOn(installUtils, 'installArchive'); const extractConfigFilesMock = jest.spyOn(extractConfig, 'extractConfigFiles'); const runServerlessClusterMock = jest.spyOn(dockerUtils, 'runServerlessCluster'); const runDockerContainerMock = jest.spyOn(dockerUtils, 'runDockerContainer'); +const waitUntilClusterReadyMock = jest.spyOn(waitClusterUtil, 'waitUntilClusterReady'); beforeEach(() => { jest.resetAllMocks(); @@ -366,6 +374,40 @@ describe('#start(installPath)', () => { expect(fs.existsSync(writeLogsToPath)).toBe(true); }); + test('calls waitUntilClusterReady() by default', async () => { + mockEsBin({ start: true }); + waitUntilClusterReadyMock.mockResolvedValue(); + + await new Cluster({ log }).start(installPath, esClusterExecOptions); + expect(waitUntilClusterReadyMock).toHaveBeenCalledTimes(1); + expect(waitUntilClusterReadyMock.mock.calls[0]).toMatchInlineSnapshot(` + Array [ + Object { + "client": <Client>, + "expectedStatus": "yellow", + "log": <ToolingLog>, + "readyTimeout": undefined, + }, + ] + `); + }); + + test(`doesn't call waitUntilClusterReady() if 'skipReadyCheck' is passed`, async () => { + mockEsBin({ start: true }); + waitUntilClusterReadyMock.mockResolvedValue(); + + await new Cluster({ log }).start(installPath, { skipReadyCheck: true }); + expect(waitUntilClusterReadyMock).toHaveBeenCalledTimes(0); + }); + + test(`rejects if waitUntilClusterReady() rejects`, async () => { + mockEsBin({ start: true }); + waitUntilClusterReadyMock.mockRejectedValue(new Error('foo')); + await expect( + new Cluster({ log }).start(installPath, esClusterExecOptions) + ).rejects.toThrowError('foo'); + }); + test('rejects if #start() was called previously', async () => { mockEsBin({ start: true }); @@ -750,18 +792,8 @@ describe('#runServerless()', () => { waitForReady: true, }; await cluster.runServerless(serverlessOptions); - expect(runServerlessClusterMock.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - <ToolingLog>, - Object { - "background": true, - "basePath": "${installPath}", - "clean": true, - "teardown": true, - "waitForReady": true, - }, - ] - `); + expect(runServerlessClusterMock.mock.calls[0][0]).toMatchInlineSnapshot(`<ToolingLog>`); + expect(runServerlessClusterMock.mock.calls[0][1]).toBe(serverlessOptions); }); }); @@ -810,17 +842,12 @@ describe('#runDocker()', () => { }); test('passes through all options+log to #runDockerContainer()', async () => { + const options = { dockerCmd: 'start -a es01' }; runDockerContainerMock.mockResolvedValueOnce(); const cluster = new Cluster({ log }); - await cluster.runDocker({ dockerCmd: 'start -a es01' }); - expect(runDockerContainerMock.mock.calls[0]).toMatchInlineSnapshot(` - Array [ - <ToolingLog>, - Object { - "dockerCmd": "start -a es01", - }, - ] - `); + await cluster.runDocker(options); + expect(runDockerContainerMock.mock.calls[0][0]).toMatchInlineSnapshot(`<ToolingLog>`); + expect(runDockerContainerMock.mock.calls[0][1]).toBe(options); }); }); diff --git a/packages/kbn-es/src/utils/docker.test.ts b/packages/kbn-es/src/utils/docker.test.ts index 4856aa6d1b17d..1d4f1a71468af 100644 --- a/packages/kbn-es/src/utils/docker.test.ts +++ b/packages/kbn-es/src/utils/docker.test.ts @@ -33,6 +33,7 @@ import { import { ToolingLog, ToolingLogCollectingWriter } from '@kbn/tooling-log'; import { ES_P12_PATH } from '@kbn/dev-utils'; import { ESS_CONFIG_PATH, ESS_RESOURCES_PATHS, ESS_SECRETS_PATH, ESS_JWKS_PATH } from '../paths'; +import * as waitClusterUtil from './wait_until_cluster_ready'; jest.mock('execa'); const execa = jest.requireMock('execa'); @@ -42,6 +43,10 @@ jest.mock('@elastic/elasticsearch', () => { }; }); +jest.mock('./wait_until_cluster_ready', () => ({ + waitUntilClusterReady: jest.fn(), +})); + const log = new ToolingLog(); const logWriter = new ToolingLogCollectingWriter(); log.setWriters([logWriter]); @@ -51,6 +56,8 @@ const baseEsPath = `${KIBANA_ROOT}/.es`; const serverlessDir = 'stateless'; const serverlessObjectStorePath = `${baseEsPath}/${serverlessDir}`; +const waitUntilClusterReadyMock = jest.spyOn(waitClusterUtil, 'waitUntilClusterReady'); + beforeEach(() => { jest.resetAllMocks(); log.indent(-log.getIndent()); @@ -473,24 +480,18 @@ describe('runServerlessCluster()', () => { // setupDocker execa calls then run three nodes and attach logger expect(execa.mock.calls).toHaveLength(8); }); - describe('waitForReady', () => { - test('should wait for serverless nodes to be ready to serve requests', async () => { - mockFs({ - [baseEsPath]: {}, - }); - execa.mockImplementation(() => Promise.resolve({ stdout: '' })); - const health = jest.fn(); - jest - .requireMock('@elastic/elasticsearch') - .Client.mockImplementation(() => ({ cluster: { health } })); - - health.mockImplementationOnce(() => Promise.reject()); // first call fails - health.mockImplementationOnce(() => Promise.resolve({ status: 'red' })); // second call return wrong status - health.mockImplementationOnce(() => Promise.resolve({ status: 'green' })); // then succeeds - - await runServerlessCluster(log, { basePath: baseEsPath, waitForReady: true }); - expect(health).toHaveBeenCalledTimes(3); - }, 10000); + + test(`should wait for serverless nodes to return 'green' status`, async () => { + waitUntilClusterReadyMock.mockResolvedValue(); + mockFs({ + [baseEsPath]: {}, + }); + execa.mockImplementation(() => Promise.resolve({ stdout: '' })); + + await runServerlessCluster(log, { basePath: baseEsPath, waitForReady: true }); + expect(waitUntilClusterReadyMock).toHaveBeenCalledTimes(1); + expect(waitUntilClusterReadyMock.mock.calls[0][0].expectedStatus).toEqual('green'); + expect(waitUntilClusterReadyMock.mock.calls[0][0].readyTimeout).toEqual(undefined); }); }); diff --git a/packages/kbn-es/src/utils/docker.ts b/packages/kbn-es/src/utils/docker.ts index 00adea7e07cd6..1369af0e1adab 100644 --- a/packages/kbn-es/src/utils/docker.ts +++ b/packages/kbn-es/src/utils/docker.ts @@ -349,7 +349,7 @@ export async function maybePullDockerImage(log: ToolingLog, image: string) { stdio: ['ignore', 'inherit', 'pipe'], }).catch(({ message }) => { throw createCliError( - `Error pulling image. This is likely an issue authenticating with ${DOCKER_REGISTRY}. + `Error pulling image. This is likely an issue authenticating with ${DOCKER_REGISTRY}. Visit ${chalk.bold.cyan('https://docker-auth.elastic.co/github_auth')} to login. ${message}` @@ -622,8 +622,7 @@ export async function runServerlessCluster(log: ToolingLog, options: ServerlessO } : {}), }); - await waitUntilClusterReady({ client, log }); - log.success('ES is ready'); + await waitUntilClusterReady({ client, expectedStatus: 'green', log }); } if (options.teardown) { diff --git a/packages/kbn-es/src/utils/wait_until_cluster_ready.test.ts b/packages/kbn-es/src/utils/wait_until_cluster_ready.test.ts new file mode 100644 index 0000000000000..c662ba4ecaf8c --- /dev/null +++ b/packages/kbn-es/src/utils/wait_until_cluster_ready.test.ts @@ -0,0 +1,86 @@ +/* + * 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 { ToolingLog, ToolingLogCollectingWriter } from '@kbn/tooling-log'; +import { waitUntilClusterReady } from './wait_until_cluster_ready'; + +jest.mock('@elastic/elasticsearch', () => { + return { + Client: jest.fn(), + }; +}); + +const log = new ToolingLog(); +const logWriter = new ToolingLogCollectingWriter(); +log.setWriters([logWriter]); + +const health = jest.fn(); + +beforeEach(() => { + jest.resetAllMocks(); + jest + .requireMock('@elastic/elasticsearch') + .Client.mockImplementation(() => ({ cluster: { health } })); + log.indent(-log.getIndent()); + logWriter.messages.length = 0; +}); + +afterEach(() => { + jest.clearAllMocks(); +}); + +describe('waitUntilClusterReady', () => { + test(`waits for node to return 'green' status`, async () => { + health.mockImplementationOnce(() => Promise.reject(new Error('foo'))); + health.mockImplementationOnce(() => Promise.resolve({ status: 'red' })); + health.mockImplementationOnce(() => Promise.resolve({ status: 'yellow' })); + health.mockImplementationOnce(() => Promise.resolve({ status: 'green' })); // 4th call returns expected status + + const client = new Client({}); + + await waitUntilClusterReady({ client, log, expectedStatus: 'green' }); + expect(health).toHaveBeenCalledTimes(4); + expect(logWriter.messages).toMatchInlineSnapshot(` + Array [ + " info waiting for ES cluster to report a green status", + " warn waiting for ES cluster to come online, attempt 1 failed with: foo", + " succ ES cluster is ready", + ] + `); + }, 10000); + + test(`waits for node to return 'yellow' status`, async () => { + health.mockImplementationOnce(() => Promise.reject(new Error('foo'))); + health.mockImplementationOnce(() => Promise.resolve({ status: 'red' })); + health.mockImplementationOnce(() => Promise.resolve({ status: 'YELLOW' })); // 3rd call returns expected status + health.mockImplementationOnce(() => Promise.resolve({ status: 'yellow' })); + health.mockImplementationOnce(() => Promise.resolve({ status: 'green' })); + + const client = new Client({}); + + await waitUntilClusterReady({ client, log, expectedStatus: 'yellow' }); + expect(health).toHaveBeenCalledTimes(3); + expect(logWriter.messages).toMatchInlineSnapshot(` + Array [ + " info waiting for ES cluster to report a yellow status", + " warn waiting for ES cluster to come online, attempt 1 failed with: foo", + " succ ES cluster is ready", + ] + `); + }, 10000); + + test(`rejects when 'readyTimeout' is exceeded`, async () => { + health.mockImplementationOnce(() => Promise.reject(new Error('foo'))); + health.mockImplementationOnce(() => Promise.resolve({ status: 'red' })); + const client = new Client({}); + await expect( + waitUntilClusterReady({ client, log, expectedStatus: 'yellow', readyTimeout: 1000 }) + ).rejects.toThrow('ES cluster failed to come online with the 1 second timeout'); + }); +}); diff --git a/packages/kbn-es/src/utils/wait_until_cluster_ready.ts b/packages/kbn-es/src/utils/wait_until_cluster_ready.ts index b8611253f89d3..99fa4a25c2071 100644 --- a/packages/kbn-es/src/utils/wait_until_cluster_ready.ts +++ b/packages/kbn-es/src/utils/wait_until_cluster_ready.ts @@ -7,38 +7,52 @@ */ import { Client } from '@elastic/elasticsearch'; +import { HealthStatus } from '@elastic/elasticsearch/lib/api/types'; import { ToolingLog } from '@kbn/tooling-log'; const DEFAULT_READY_TIMEOUT = 60 * 1000; // 1 minute +export type ClusterReadyStatus = 'green' | 'yellow'; export interface WaitOptions { client: Client; + expectedStatus: ClusterReadyStatus; log: ToolingLog; readyTimeout?: number; } +const checkStatus = (readyStatus: ClusterReadyStatus) => { + return readyStatus === 'yellow' + ? (status: HealthStatus) => status.toLocaleLowerCase() !== 'red' + : (status: HealthStatus) => status.toLocaleLowerCase() === 'green'; +}; + /** - * General method to wait for the ES cluster status to be green + * General method to wait for the ES cluster status to be yellow or green */ export async function waitUntilClusterReady({ client, + expectedStatus, log, readyTimeout = DEFAULT_READY_TIMEOUT, }: WaitOptions) { let attempt = 0; const start = Date.now(); - log.info('waiting for ES cluster to report a green status'); + log.info(`waiting for ES cluster to report a ${expectedStatus} status`); + + const isReady = checkStatus(expectedStatus); while (true) { attempt += 1; try { const resp = await client.cluster.health(); - if (resp.status === 'green') { + const status: HealthStatus = resp.status; + if (isReady(status)) { + log.success('ES cluster is ready'); return; } - throw new Error(`not ready, cluster health is ${resp.status}`); + throw new Error(`not ready, cluster health is ${status}`); } catch (error) { const timeSinceStart = Date.now() - start; if (timeSinceStart > readyTimeout) { From 0215ed3a0f54823b816fc24d5efa931cd1d55b10 Mon Sep 17 00:00:00 2001 From: natasha-moore-elastic <137783811+natasha-moore-elastic@users.noreply.github.com> Date: Mon, 18 Sep 2023 14:55:57 +0100 Subject: [PATCH 085/149] [DOCS] Adds shards object to Create pack and Update pack API (#166363) ## Summary - Resolves https://github.com/elastic/security-docs/issues/3822 Adds the `shards` object schema definition to Create pack and Update pack API, and to the Create pack request example. - Related dev PR: https://github.com/elastic/kibana/pull/166178 --- docs/api/osquery-manager/packs/create.asciidoc | 14 ++++++++++++-- docs/api/osquery-manager/packs/update.asciidoc | 2 ++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/docs/api/osquery-manager/packs/create.asciidoc b/docs/api/osquery-manager/packs/create.asciidoc index 5f9829164b245..2fcfc58d43dba 100644 --- a/docs/api/osquery-manager/packs/create.asciidoc +++ b/docs/api/osquery-manager/packs/create.asciidoc @@ -33,6 +33,8 @@ experimental[] Create packs. `policy_ids`:: (Optional, array) A list of agents policy IDs. +`shards`:: (Required, object) An object with shard configuration for policies included in the pack. For each policy, set the shard configuration to a percentage (1–100) of target hosts. + `queries`:: (Required, object) An object of queries. @@ -56,8 +58,13 @@ $ curl -X POST api/osquery/packs \ "description": "My pack", "enabled": true, "policy_ids": [ - "my_policy_id" + "my_policy_id", + "fleet-server-policy" ], + "shards": { + "my_policy_id": 35, + "fleet-server-policy": 58 + }, "queries": { "my_query": { "query": "SELECT * FROM listening_ports;", @@ -67,7 +74,10 @@ $ curl -X POST api/osquery/packs \ "field": "port" }, "tags": { - "value": ["tag1", "tag2"] + "value": [ + "tag1", + "tag2" + ] } } } diff --git a/docs/api/osquery-manager/packs/update.asciidoc b/docs/api/osquery-manager/packs/update.asciidoc index 0fc2e2684e0e9..d098d2567f1ac 100644 --- a/docs/api/osquery-manager/packs/update.asciidoc +++ b/docs/api/osquery-manager/packs/update.asciidoc @@ -38,6 +38,8 @@ WARNING: You are unable to update a prebuilt pack (`read_only = true`). `policy_ids`:: (Optional, array) A list of agent policy IDs. +`shards`:: (Optional, object) An object with shard configuration for policies included in the pack. For each policy, set the shard configuration to a percentage (1–100) of target hosts. + `queries`:: (Required, object) An object of queries. From be38c9d2e4e5e3e2a8c36eee3752a04a15cd47b0 Mon Sep 17 00:00:00 2001 From: James Rodewig <james.rodewig@elastic.co> Date: Mon, 18 Sep 2023 10:08:26 -0400 Subject: [PATCH 086/149] [DOCS] Add 8.10.1 release notes (#166549) --- docs/CHANGELOG.asciidoc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index 765f1949ff5f5..045cdb5e80bd7 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -10,6 +10,7 @@ Review important information about the {kib} 8.x releases. +* <<release-notes-8.10.1>> * <<release-notes-8.10.0>> * <<release-notes-8.9.2>> * <<release-notes-8.9.1>> @@ -48,6 +49,26 @@ Review important information about the {kib} 8.x releases. * <<release-notes-8.0.0-alpha1>> -- +[[release-notes-8.10.1]] +== {kib} 8.10.1 + +The 8.10.1 release includes the following bug fixes. + +[float] +[[fixes-v8.10.1]] +=== Bug Fixes + +Dashboard:: +* Fixes content editor flyout footer ({kibana-pull}165907[#165907]). +Elastic Security:: +For the Elastic Security 8.10.1 release information, refer to {security-guide}/release-notes.html[_Elastic Security Solution Release Notes_]. +Fleet:: +* Show snapshot version in agent upgrade modal and allow custom values ({kibana-pull}165978[#165978]). +Observability:: +* Fix(slo): Use comma-separarted list of source index for transform ({kibana-pull}166294[#166294]). +Presentation:: +* Fixes air-gapped enviroment hitting `400` error when loading fonts for layer ({kibana-pull}165986[#165986]). + [[release-notes-8.10.0]] == {kib} 8.10.0 From 8220c9bc4c30698b0044850091e8bba13c386d82 Mon Sep 17 00:00:00 2001 From: "Devin W. Hurley" <devin.hurley@elastic.co> Date: Mon, 18 Sep 2023 10:17:17 -0400 Subject: [PATCH 087/149] [Security Solution] [Detections] Adds support for index patterns (DataViewBase) to be used for query bar filters (#166318) ## Summary Ref: https://github.com/elastic/kibana/issues/164265 --- .../components/query_bar/index.test.tsx | 202 ++++++------------ .../common/components/query_bar/index.tsx | 32 ++- 2 files changed, 89 insertions(+), 145 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx b/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx index 118c78e290759..934e923d5724d 100644 --- a/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx +++ b/x-pack/plugins/security_solution/public/common/components/query_bar/index.test.tsx @@ -16,9 +16,45 @@ import { SearchBar } from '@kbn/unified-search-plugin/public'; import type { QueryBarComponentProps } from '.'; import { QueryBar } from '.'; +import type { DataViewFieldMap } from '@kbn/data-views-plugin/common'; +import { createStubDataView } from '@kbn/data-views-plugin/common/data_view.stub'; +import { fields } from '@kbn/data-views-plugin/common/mocks'; +import { useKibana } from '../../lib/kibana'; + +const getMockIndexPattern = () => ({ + ...createStubDataView({ + spec: { + id: '1234', + title: 'logstash-*', + fields: ((): DataViewFieldMap => { + const fieldMap: DataViewFieldMap = Object.create(null); + for (const field of fields) { + fieldMap[field.name] = { ...field }; + } + return fieldMap; + })(), + }, + }), +}); + const mockUiSettingsForFilterManager = coreMock.createStart().uiSettings; +jest.mock('../../lib/kibana'); describe('QueryBar ', () => { + const mockClearInstanceCache = jest.fn().mockImplementation(({ id }: { id: string }) => { + return id; + }); + + (useKibana as jest.Mock).mockReturnValue({ + services: { + data: { + dataViews: { + create: jest.fn().mockResolvedValue(getMockIndexPattern()), + clearInstanceCache: mockClearInstanceCache, + }, + }, + }, + }); const mockOnChangeQuery = jest.fn(); const mockOnSubmitQuery = jest.fn(); const mockOnSavedQuery = jest.fn(); @@ -52,10 +88,10 @@ describe('QueryBar ', () => { mockOnSavedQuery.mockClear(); }); - test('check if we format the appropriate props to QueryBar', () => { - const wrapper = mount( - <TestProviders> - <QueryBar + test('check if we format the appropriate props to QueryBar', async () => { + await act(async () => { + const wrapper = await getWrapper( + <Proxy dateRangeFrom={DEFAULT_FROM} dateRangeTo={DEFAULT_TO} hideSavedQuery={false} @@ -68,143 +104,28 @@ describe('QueryBar ', () => { onSubmitQuery={mockOnSubmitQuery} onSavedQuery={mockOnSavedQuery} /> - </TestProviders> - ); - const { - customSubmitButton, - timeHistory, - onClearSavedQuery, - onFiltersUpdated, - onQueryChange, - onQuerySubmit, - onSaved, - onSavedQueryUpdated, - ...searchBarProps - } = wrapper.find(SearchBar).props(); + ); - expect(searchBarProps).toEqual({ - dataTestSubj: undefined, - dateRangeFrom: 'now/d', - dateRangeTo: 'now/d', - displayStyle: undefined, - filters: [], - indexPatterns: [ - { - fields: [ - { - aggregatable: true, - name: '@timestamp', - searchable: true, - type: 'date', - }, - { - aggregatable: true, - name: '@version', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.ephemeral_id', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.hostname', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.id', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.test1', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.test2', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.test3', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.test4', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.test5', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.test6', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.test7', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'agent.test8', - searchable: true, - type: 'string', - }, - { - aggregatable: true, - name: 'host.name', - searchable: true, - type: 'string', - }, - { - aggregatable: false, - name: 'nestedField.firstAttributes', - searchable: true, - type: 'string', - }, - { - aggregatable: false, - name: 'nestedField.secondAttributes', - searchable: true, - type: 'string', - }, - ], - title: 'filebeat-*,auditbeat-*,packetbeat-*', - }, - ], - isLoading: false, - isRefreshPaused: true, - query: { - language: 'kuery', - query: 'here: query', - }, - refreshInterval: undefined, - savedQuery: undefined, - showAutoRefreshOnly: false, - showDatePicker: false, - showFilterBar: true, - showQueryInput: true, - showSaveQuery: true, - showSubmitButton: false, + await waitFor(() => { + wrapper.update(); + const { + customSubmitButton, + timeHistory, + onClearSavedQuery, + onFiltersUpdated, + onQueryChange, + onQuerySubmit, + onSaved, + onSavedQueryUpdated, + ...searchBarProps + } = wrapper.find(SearchBar).props(); + expect((searchBarProps?.indexPatterns ?? [{ id: 'unknown' }])[0].id).toEqual( + getMockIndexPattern().id + ); + }); + // ensure useEffect cleanup is called correctly after component unmounts + wrapper.unmount(); + expect(mockClearInstanceCache).toHaveBeenCalledWith(getMockIndexPattern().id); }); }); @@ -294,7 +215,6 @@ describe('QueryBar ', () => { const onSubmitQueryRef = searchBarProps.onQuerySubmit; const onSavedQueryRef = searchBarProps.onSavedQueryUpdated; wrapper.setProps({ onSavedQuery: jest.fn() }); - wrapper.update(); expect(onSavedQueryRef).not.toEqual(wrapper.find(SearchBar).props().onSavedQueryUpdated); expect(onChangedQueryRef).toEqual(wrapper.find(SearchBar).props().onQueryChange); diff --git a/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx b/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx index d86f3de10b549..9356956c23d56 100644 --- a/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx +++ b/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { memo, useMemo, useCallback } from 'react'; +import React, { memo, useMemo, useCallback, useState, useEffect } from 'react'; import deepEqual from 'fast-deep-equal'; import type { DataViewBase, Filter, Query, TimeRange } from '@kbn/es-query'; @@ -16,6 +16,8 @@ import type { SearchBarProps } from '@kbn/unified-search-plugin/public'; import { SearchBar } from '@kbn/unified-search-plugin/public'; import { Storage } from '@kbn/kibana-utils-plugin/public'; +import { useKibana } from '../../lib/kibana'; + export interface QueryBarComponentProps { dataTestSubj?: string; dateRangeFrom?: string; @@ -36,6 +38,9 @@ export interface QueryBarComponentProps { isDisabled?: boolean; } +export const isDataView = (obj: unknown): obj is DataView => + obj != null && typeof obj === 'object' && Object.hasOwn(obj, 'getName'); + export const QueryBar = memo<QueryBarComponentProps>( ({ dateRangeFrom, @@ -56,6 +61,8 @@ export const QueryBar = memo<QueryBarComponentProps>( displayStyle, isDisabled, }) => { + const { data } = useKibana().services; + const [dataView, setDataView] = useState<DataView>(); const onQuerySubmit = useCallback( (payload: { dateRange: TimeRange; query?: Query }) => { if (payload.query != null && !deepEqual(payload.query, filterQuery)) { @@ -102,16 +109,33 @@ export const QueryBar = memo<QueryBarComponentProps>( [filterManager] ); - const indexPatterns = useMemo(() => [indexPattern], [indexPattern]); - const timeHistory = useMemo(() => new TimeHistory(new Storage(localStorage)), []); + useEffect(() => { + let dv: DataView; + if (isDataView(indexPattern)) { + setDataView(indexPattern); + } else { + const createDataView = async () => { + dv = await data.dataViews.create({ title: indexPattern.title }); + setDataView(dv); + }; + createDataView(); + } + return () => { + if (dv?.id) { + data.dataViews.clearInstanceCache(dv?.id); + } + }; + }, [data.dataViews, indexPattern]); + const timeHistory = useMemo(() => new TimeHistory(new Storage(localStorage)), []); + const arrDataView = useMemo(() => (dataView != null ? [dataView] : []), [dataView]); return ( <SearchBar showSubmitButton={false} dateRangeFrom={dateRangeFrom} dateRangeTo={dateRangeTo} filters={filters} - indexPatterns={indexPatterns as DataView[]} + indexPatterns={arrDataView} isLoading={isLoading} isRefreshPaused={isRefreshPaused} query={filterQuery} From 6369a78175f591432fb1b8346382bcddc685b7db Mon Sep 17 00:00:00 2001 From: Konrad Szwarc <konrad.szwarc@elastic.co> Date: Mon, 18 Sep 2023 16:28:09 +0200 Subject: [PATCH 088/149] [Defend Workflows] Artifact rollout feature flag (#166433) This PR sets default value of `protectionUpdatesEnabled` feature flag to `false`, modifies existing `.cy` e2es to be ran with said feature flag set to true and introduces e2e coverage for scenarios when feature is disabled. --- .../common/experimental_features.ts | 2 +- .../cypress/e2e/endpoint/policy_details.cy.ts | 359 +++++++++--------- ...olicy_experimental_features_disabled.cy.ts | 98 +++++ .../cypress/e2e/endpoint/policy_list.cy.ts | 127 ++++--- 4 files changed, 349 insertions(+), 237 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_experimental_features_disabled.cy.ts diff --git a/x-pack/plugins/security_solution/common/experimental_features.ts b/x-pack/plugins/security_solution/common/experimental_features.ts index cbc84c3314e88..27e9f4f918cba 100644 --- a/x-pack/plugins/security_solution/common/experimental_features.ts +++ b/x-pack/plugins/security_solution/common/experimental_features.ts @@ -108,7 +108,7 @@ export const allowedExperimentalValues = Object.freeze({ /** * Enables Protection Updates tab in the Endpoint Policy Details page */ - protectionUpdatesEnabled: true, + protectionUpdatesEnabled: false, }); type ExperimentalConfigKeys = Array<keyof ExperimentalFeatures>; diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_details.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_details.cy.ts index 49bb33cbc3267..0689f89f75472 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_details.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_details.cy.ts @@ -16,220 +16,229 @@ import { import { login, ROLE } from '../../tasks/login'; import { disableExpandableFlyoutAdvancedSettings, loadPage } from '../../tasks/common'; -describe('Policy Details', () => { - describe('Protection updates', () => { - const loadProtectionUpdatesUrl = (policyId: string) => - loadPage(`/app/security/administration/policy/${policyId}/protectionUpdates`); - const testNote = 'test note'; - const updatedTestNote = 'updated test note'; - - describe('Renders and saves protection updates', () => { - let indexedPolicy: IndexedFleetEndpointPolicyResponse; - let policy: PolicyData; - const today = moment.utc(); - const formattedToday = today.format('MMMM DD, YYYY'); - - beforeEach(() => { - login(); - disableExpandableFlyoutAdvancedSettings(); - }); +describe( + 'Policy Details', + { + env: { ftrConfig: { enableExperimental: ['protectionUpdatesEnabled'] } }, + }, + () => { + describe('Protection updates', () => { + const loadProtectionUpdatesUrl = (policyId: string) => + loadPage(`/app/security/administration/policy/${policyId}/protectionUpdates`); + const testNote = 'test note'; + const updatedTestNote = 'updated test note'; + + describe('Renders and saves protection updates', () => { + let indexedPolicy: IndexedFleetEndpointPolicyResponse; + let policy: PolicyData; + const today = moment.utc(); + const formattedToday = today.format('MMMM DD, YYYY'); + + beforeEach(() => { + login(); + disableExpandableFlyoutAdvancedSettings(); + }); - before(() => { - getEndpointIntegrationVersion().then((version) => { - createAgentPolicyTask(version).then((data) => { - indexedPolicy = data; - policy = indexedPolicy.integrationPolicies[0]; + before(() => { + getEndpointIntegrationVersion().then((version) => { + createAgentPolicyTask(version).then((data) => { + indexedPolicy = data; + policy = indexedPolicy.integrationPolicies[0]; + }); }); }); - }); - after(() => { - if (indexedPolicy) { - cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); - } - }); + after(() => { + if (indexedPolicy) { + cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); + } + }); - it('should render the protection updates tab content', () => { - loadProtectionUpdatesUrl(policy.id); - cy.getByTestSubj('protection-updates-automatic-updates-enabled'); - cy.getByTestSubj('protection-updates-manifest-switch'); - cy.getByTestSubj('protection-updates-manifest-name-title'); - cy.getByTestSubj('protection-updates-manifest-name'); + it('should render the protection updates tab content', () => { + loadProtectionUpdatesUrl(policy.id); + cy.getByTestSubj('protection-updates-automatic-updates-enabled'); + cy.getByTestSubj('protection-updates-manifest-switch'); + cy.getByTestSubj('protection-updates-manifest-name-title'); + cy.getByTestSubj('protection-updates-manifest-name'); - cy.getByTestSubj('protection-updates-manifest-switch').click(); + cy.getByTestSubj('protection-updates-manifest-switch').click(); - cy.getByTestSubj('protection-updates-manifest-name-deployed-version-title'); - cy.getByTestSubj('protection-updates-deployed-version').contains('latest'); - cy.getByTestSubj('protection-updates-manifest-name-version-to-deploy-title'); - cy.getByTestSubj('protection-updates-version-to-deploy-picker').within(() => { - cy.get('input').should('have.value', formattedToday); + cy.getByTestSubj('protection-updates-manifest-name-deployed-version-title'); + cy.getByTestSubj('protection-updates-deployed-version').contains('latest'); + cy.getByTestSubj('protection-updates-manifest-name-version-to-deploy-title'); + cy.getByTestSubj('protection-updates-version-to-deploy-picker').within(() => { + cy.get('input').should('have.value', formattedToday); + }); + cy.getByTestSubj('protection-updates-manifest-name-note-title'); + cy.getByTestSubj('protection-updates-manifest-note'); + cy.getByTestSubj('policyDetailsSaveButton'); }); - cy.getByTestSubj('protection-updates-manifest-name-note-title'); - cy.getByTestSubj('protection-updates-manifest-note'); - cy.getByTestSubj('policyDetailsSaveButton'); - }); - it('should successfully update the manifest version to custom date', () => { - loadProtectionUpdatesUrl(policy.id); - cy.getByTestSubj('protection-updates-manifest-switch').click(); - cy.getByTestSubj('protection-updates-manifest-note').type(testNote); - - cy.intercept('PUT', `/api/fleet/package_policies/${policy.id}`).as('policy'); - cy.intercept('POST', `/api/endpoint/protection_updates_note/*`).as('note'); - cy.getByTestSubj('policyDetailsSaveButton').click(); - cy.wait('@policy').then(({ request, response }) => { - expect(request.body.inputs[0].config.policy.value.global_manifest_version).to.equal( - today.format('YYYY-MM-DD') - ); - expect(response?.statusCode).to.equal(200); - }); + it('should successfully update the manifest version to custom date', () => { + loadProtectionUpdatesUrl(policy.id); + cy.getByTestSubj('protection-updates-manifest-switch').click(); + cy.getByTestSubj('protection-updates-manifest-note').type(testNote); + + cy.intercept('PUT', `/api/fleet/package_policies/${policy.id}`).as('policy'); + cy.intercept('POST', `/api/endpoint/protection_updates_note/*`).as('note'); + cy.getByTestSubj('policyDetailsSaveButton').click(); + cy.wait('@policy').then(({ request, response }) => { + expect(request.body.inputs[0].config.policy.value.global_manifest_version).to.equal( + today.format('YYYY-MM-DD') + ); + expect(response?.statusCode).to.equal(200); + }); - cy.wait('@note').then(({ request, response }) => { - expect(request.body.note).to.equal(testNote); - expect(response?.statusCode).to.equal(200); - }); + cy.wait('@note').then(({ request, response }) => { + expect(request.body.note).to.equal(testNote); + expect(response?.statusCode).to.equal(200); + }); - cy.getByTestSubj('protectionUpdatesSuccessfulMessage'); - cy.getByTestSubj('protection-updates-deployed-version').contains(formattedToday); - cy.getByTestSubj('protection-updates-manifest-note').contains(testNote); + cy.getByTestSubj('protectionUpdatesSuccessfulMessage'); + cy.getByTestSubj('protection-updates-deployed-version').contains(formattedToday); + cy.getByTestSubj('protection-updates-manifest-note').contains(testNote); + }); }); - }); - describe('Renders and saves protection updates with custom version', () => { - let indexedPolicy: IndexedFleetEndpointPolicyResponse; - let policy: PolicyData; + describe('Renders and saves protection updates with custom version', () => { + let indexedPolicy: IndexedFleetEndpointPolicyResponse; + let policy: PolicyData; - const twoMonthsAgo = moment.utc().subtract(2, 'months').format('YYYY-MM-DD'); + const twoMonthsAgo = moment.utc().subtract(2, 'months').format('YYYY-MM-DD'); - beforeEach(() => { - login(); - disableExpandableFlyoutAdvancedSettings(); - }); + beforeEach(() => { + login(); + disableExpandableFlyoutAdvancedSettings(); + }); - before(() => { - getEndpointIntegrationVersion().then((version) => { - createAgentPolicyTask(version).then((data) => { - indexedPolicy = data; - policy = indexedPolicy.integrationPolicies[0]; - setCustomProtectionUpdatesManifestVersion(policy.id, twoMonthsAgo); + before(() => { + getEndpointIntegrationVersion().then((version) => { + createAgentPolicyTask(version).then((data) => { + indexedPolicy = data; + policy = indexedPolicy.integrationPolicies[0]; + setCustomProtectionUpdatesManifestVersion(policy.id, twoMonthsAgo); + }); }); }); - }); - - after(() => { - if (indexedPolicy) { - cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); - } - }); - it('should update manifest version to latest when enabling automatic updates', () => { - loadProtectionUpdatesUrl(policy.id); - cy.getByTestSubj('protection-updates-manifest-outdated'); - cy.intercept('PUT', `/api/fleet/package_policies/${policy.id}`).as('policy_latest'); + after(() => { + if (indexedPolicy) { + cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); + } + }); - cy.getByTestSubj('protection-updates-manifest-switch').click(); - cy.wait('@policy_latest').then(({ request, response }) => { - expect(request.body.inputs[0].config.policy.value.global_manifest_version).to.equal( - 'latest' - ); - expect(response?.statusCode).to.equal(200); + it('should update manifest version to latest when enabling automatic updates', () => { + loadProtectionUpdatesUrl(policy.id); + cy.getByTestSubj('protection-updates-manifest-outdated'); + cy.intercept('PUT', `/api/fleet/package_policies/${policy.id}`).as('policy_latest'); + + cy.getByTestSubj('protection-updates-manifest-switch').click(); + cy.wait('@policy_latest').then(({ request, response }) => { + expect(request.body.inputs[0].config.policy.value.global_manifest_version).to.equal( + 'latest' + ); + expect(response?.statusCode).to.equal(200); + }); + cy.getByTestSubj('protectionUpdatesSuccessfulMessage'); + cy.getByTestSubj('protection-updates-automatic-updates-enabled'); }); - cy.getByTestSubj('protectionUpdatesSuccessfulMessage'); - cy.getByTestSubj('protection-updates-automatic-updates-enabled'); }); - }); - describe('Renders and saves protection updates with custom note', () => { - let indexedPolicy: IndexedFleetEndpointPolicyResponse; - let policy: PolicyData; + describe('Renders and saves protection updates with custom note', () => { + let indexedPolicy: IndexedFleetEndpointPolicyResponse; + let policy: PolicyData; - const twoMonthsAgo = moment.utc().subtract(2, 'months').format('YYYY-MM-DD'); + const twoMonthsAgo = moment.utc().subtract(2, 'months').format('YYYY-MM-DD'); - beforeEach(() => { - login(); - disableExpandableFlyoutAdvancedSettings(); - }); + beforeEach(() => { + login(); + disableExpandableFlyoutAdvancedSettings(); + }); - before(() => { - getEndpointIntegrationVersion().then((version) => { - createAgentPolicyTask(version).then((data) => { - indexedPolicy = data; - policy = indexedPolicy.integrationPolicies[0]; - setCustomProtectionUpdatesManifestVersion(policy.id, twoMonthsAgo); - setCustomProtectionUpdatesNote(policy.id, testNote); + before(() => { + getEndpointIntegrationVersion().then((version) => { + createAgentPolicyTask(version).then((data) => { + indexedPolicy = data; + policy = indexedPolicy.integrationPolicies[0]; + setCustomProtectionUpdatesManifestVersion(policy.id, twoMonthsAgo); + setCustomProtectionUpdatesNote(policy.id, testNote); + }); }); }); - }); - after(() => { - if (indexedPolicy) { - cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); - } - }); + after(() => { + if (indexedPolicy) { + cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); + } + }); - it('should update note on save', () => { - loadProtectionUpdatesUrl(policy.id); - cy.getByTestSubj('protection-updates-manifest-note').contains(testNote); - cy.getByTestSubj('protection-updates-manifest-note').clear().type(updatedTestNote); + it('should update note on save', () => { + loadProtectionUpdatesUrl(policy.id); + cy.getByTestSubj('protection-updates-manifest-note').contains(testNote); + cy.getByTestSubj('protection-updates-manifest-note').clear().type(updatedTestNote); - cy.intercept('POST', `/api/endpoint/protection_updates_note/*`).as('note_updated'); - cy.getByTestSubj('policyDetailsSaveButton').click(); - cy.wait('@note_updated').then(({ request, response }) => { - expect(request.body.note).to.equal(updatedTestNote); - expect(response?.statusCode).to.equal(200); + cy.intercept('POST', `/api/endpoint/protection_updates_note/*`).as('note_updated'); + cy.getByTestSubj('policyDetailsSaveButton').click(); + cy.wait('@note_updated').then(({ request, response }) => { + expect(request.body.note).to.equal(updatedTestNote); + expect(response?.statusCode).to.equal(200); + }); + cy.getByTestSubj('protectionUpdatesSuccessfulMessage'); + cy.getByTestSubj('protection-updates-manifest-note').contains(updatedTestNote); }); - cy.getByTestSubj('protectionUpdatesSuccessfulMessage'); - cy.getByTestSubj('protection-updates-manifest-note').contains(updatedTestNote); }); - }); - describe('Renders read only protection updates for user without write permissions', () => { - let indexedPolicy: IndexedFleetEndpointPolicyResponse; - let policy: PolicyData; - const twoMonthsAgo = moment.utc().subtract(2, 'months'); + describe('Renders read only protection updates for user without write permissions', () => { + let indexedPolicy: IndexedFleetEndpointPolicyResponse; + let policy: PolicyData; + const twoMonthsAgo = moment.utc().subtract(2, 'months'); - beforeEach(() => { - login(ROLE.endpoint_security_policy_management_read); - disableExpandableFlyoutAdvancedSettings(); - }); + beforeEach(() => { + login(ROLE.endpoint_security_policy_management_read); + disableExpandableFlyoutAdvancedSettings(); + }); - before(() => { - getEndpointIntegrationVersion().then((version) => { - createAgentPolicyTask(version).then((data) => { - indexedPolicy = data; - policy = indexedPolicy.integrationPolicies[0]; - setCustomProtectionUpdatesManifestVersion(policy.id, twoMonthsAgo.format('YYYY-MM-DD')); - setCustomProtectionUpdatesNote(policy.id, testNote); + before(() => { + getEndpointIntegrationVersion().then((version) => { + createAgentPolicyTask(version).then((data) => { + indexedPolicy = data; + policy = indexedPolicy.integrationPolicies[0]; + setCustomProtectionUpdatesManifestVersion( + policy.id, + twoMonthsAgo.format('YYYY-MM-DD') + ); + setCustomProtectionUpdatesNote(policy.id, testNote); + }); }); }); - }); - after(() => { - if (indexedPolicy) { - cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); - } - }); + after(() => { + if (indexedPolicy) { + cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); + } + }); + + it('should render the protection updates tab content', () => { + loadProtectionUpdatesUrl(policy.id); + cy.getByTestSubj('protection-updates-manifest-switch').should('not.exist'); + cy.getByTestSubj('protection-updates-state-view-mode'); + cy.getByTestSubj('protection-updates-manifest-name-title'); + cy.getByTestSubj('protection-updates-manifest-name'); - it('should render the protection updates tab content', () => { - loadProtectionUpdatesUrl(policy.id); - cy.getByTestSubj('protection-updates-manifest-switch').should('not.exist'); - cy.getByTestSubj('protection-updates-state-view-mode'); - cy.getByTestSubj('protection-updates-manifest-name-title'); - cy.getByTestSubj('protection-updates-manifest-name'); - - cy.getByTestSubj('protection-updates-manifest-name-deployed-version-title'); - cy.getByTestSubj('protection-updates-deployed-version').contains( - twoMonthsAgo.format('MMMM DD, YYYY') - ); - cy.getByTestSubj('protection-updates-manifest-name-version-to-deploy-title'); - cy.getByTestSubj('protection-updates-version-to-deploy-view-mode'); - cy.getByTestSubj('protection-updates-version-to-deploy-picker').should('not.exist'); - - cy.getByTestSubj('protection-updates-manifest-name-note-title'); - cy.getByTestSubj('protection-updates-manifest-note').should('not.exist'); - cy.getByTestSubj('protection-updates-manifest-note-view-mode').contains(testNote); - cy.getByTestSubj('policyDetailsSaveButton').should('be.disabled'); + cy.getByTestSubj('protection-updates-manifest-name-deployed-version-title'); + cy.getByTestSubj('protection-updates-deployed-version').contains( + twoMonthsAgo.format('MMMM DD, YYYY') + ); + cy.getByTestSubj('protection-updates-manifest-name-version-to-deploy-title'); + cy.getByTestSubj('protection-updates-version-to-deploy-view-mode'); + cy.getByTestSubj('protection-updates-version-to-deploy-picker').should('not.exist'); + + cy.getByTestSubj('protection-updates-manifest-name-note-title'); + cy.getByTestSubj('protection-updates-manifest-note').should('not.exist'); + cy.getByTestSubj('protection-updates-manifest-note-view-mode').contains(testNote); + cy.getByTestSubj('policyDetailsSaveButton').should('be.disabled'); + }); }); }); - }); -}); + } +); diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_experimental_features_disabled.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_experimental_features_disabled.cy.ts new file mode 100644 index 0000000000000..1d072bad8a68b --- /dev/null +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_experimental_features_disabled.cy.ts @@ -0,0 +1,98 @@ +/* + * 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 { PolicyData } from '../../../../../common/endpoint/types'; +import { disableExpandableFlyoutAdvancedSettings, loadPage } from '../../tasks/common'; + +import type { IndexedFleetEndpointPolicyResponse } from '../../../../../common/endpoint/data_loaders/index_fleet_endpoint_policy'; +import { login } from '../../tasks/login'; +import { createAgentPolicyTask, getEndpointIntegrationVersion } from '../../tasks/fleet'; + +describe('Disabled experimental features on: ', () => { + describe('Policy list', () => { + describe('Renders policy list without protection updates feature flag', () => { + let indexedPolicy: IndexedFleetEndpointPolicyResponse; + + beforeEach(() => { + login(); + disableExpandableFlyoutAdvancedSettings(); + }); + + before(() => { + getEndpointIntegrationVersion().then((version) => { + createAgentPolicyTask(version).then((data) => { + indexedPolicy = data; + }); + }); + }); + + after(() => { + if (indexedPolicy) { + cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); + } + }); + + it('should render the list', () => { + loadPage('/app/security/administration/policy'); + cy.getByTestSubj('tableHeaderCell_Name_0'); + cy.getByTestSubj('tableHeaderCell_Deployed Version_1').should('not.exist'); + cy.getByTestSubj('tableHeaderCell_created_by_1'); + cy.getByTestSubj('tableHeaderCell_created_at_2'); + cy.getByTestSubj('tableHeaderCell_updated_by_3'); + cy.getByTestSubj('tableHeaderCell_updated_at_4'); + cy.getByTestSubj('tableHeaderCell_Endpoints_5'); + cy.getByTestSubj('policy-list-outdated-manifests-call-out').should('not.exist'); + cy.getByTestSubj('policyDeployedVersion').should('not.exist'); + }); + }); + }); + + describe('Policy details', () => { + describe('Renders policy details without protection updates feature flag', () => { + let indexedPolicy: IndexedFleetEndpointPolicyResponse; + let policy: PolicyData; + + beforeEach(() => { + login(); + disableExpandableFlyoutAdvancedSettings(); + }); + + before(() => { + getEndpointIntegrationVersion().then((version) => { + createAgentPolicyTask(version).then((data) => { + indexedPolicy = data; + policy = indexedPolicy.integrationPolicies[0]; + }); + }); + }); + + after(() => { + if (indexedPolicy) { + cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); + } + }); + + it('should return 404 on policyUpdates url', () => { + loadPage(`/app/security/administration/policy/${policy.id}/protectionUpdates`); + cy.getByTestSubj('notFoundPage'); + cy.getByTestSubj('protection-updates-automatic-updates-enabled').should('not.exist'); + }); + + it('should render policy details without protection updates tab', () => { + loadPage(`/app/security/administration/policy/${policy.id}`); + cy.get('div[role="tablist"]').within(() => { + cy.contains('Protection updates').should('not.exist'); + cy.get('#settings'); + cy.get('#trustedApps'); + cy.get('#hostIsolationExceptions'); + cy.get('#blocklists'); + cy.get('#protectionUpdates').should('not.exist'); + }); + }); + }); + }); +}); diff --git a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_list.cy.ts b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_list.cy.ts index 1b70ecba0882e..b3e5e0477c5be 100644 --- a/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_list.cy.ts +++ b/x-pack/plugins/security_solution/public/management/cypress/e2e/endpoint/policy_list.cy.ts @@ -13,83 +13,88 @@ import type { IndexedFleetEndpointPolicyResponse } from '../../../../../common/e import { login } from '../../tasks/login'; import { createAgentPolicyTask, getEndpointIntegrationVersion } from '../../tasks/fleet'; -describe('Policy List', () => { - describe('Renders policy list with outdated policies', () => { - const indexedPolicies: IndexedFleetEndpointPolicyResponse[] = []; +describe( + 'Policy List', + { + env: { ftrConfig: { enableExperimental: ['protectionUpdatesEnabled'] } }, + }, + () => { + describe('Renders policy list with outdated policies', () => { + const indexedPolicies: IndexedFleetEndpointPolicyResponse[] = []; - const monthAgo = moment.utc().subtract(1, 'months').format('YYYY-MM-DD'); - const threeDaysAgo = moment.utc().subtract(3, 'days').format('YYYY-MM-DD'); - const eighteenMonthsAgo = moment - .utc() - .subtract(18, 'months') - .add(1, 'day') - .format('YYYY-MM-DD'); + const monthAgo = moment.utc().subtract(1, 'months').format('YYYY-MM-DD'); + const threeDaysAgo = moment.utc().subtract(3, 'days').format('YYYY-MM-DD'); + const eighteenMonthsAgo = moment + .utc() + .subtract(18, 'months') + .add(1, 'day') + .format('YYYY-MM-DD'); + const dates = [monthAgo, threeDaysAgo, eighteenMonthsAgo]; - const dates = [monthAgo, threeDaysAgo, eighteenMonthsAgo]; + beforeEach(() => { + login(); + disableExpandableFlyoutAdvancedSettings(); + }); - beforeEach(() => { - login(); - disableExpandableFlyoutAdvancedSettings(); - }); + before(() => { + getEndpointIntegrationVersion().then((version) => { + for (let i = 0; i < 4; i++) { + createAgentPolicyTask(version).then((data) => { + indexedPolicies.push(data); + if (dates[i]) { + setCustomProtectionUpdatesManifestVersion(data.integrationPolicies[0].id, dates[i]); + } + }); + } + }); + }); - before(() => { - getEndpointIntegrationVersion().then((version) => { - for (let i = 0; i < 4; i++) { - createAgentPolicyTask(version).then((data) => { - indexedPolicies.push(data); - if (dates[i]) { - setCustomProtectionUpdatesManifestVersion(data.integrationPolicies[0].id, dates[i]); - } + after(() => { + if (indexedPolicies.length) { + indexedPolicies.forEach((policy) => { + cy.task('deleteIndexedFleetEndpointPolicies', policy); }); } }); - }); - after(() => { - if (indexedPolicies.length) { - indexedPolicies.forEach((policy) => { - cy.task('deleteIndexedFleetEndpointPolicies', policy); + it('should render the policy list', () => { + loadPage('/app/security/administration/policy'); + cy.getByTestSubj('policy-list-outdated-manifests-call-out').should('contain', '2 policies'); + dates.forEach((date) => { + cy.contains(moment.utc(date, 'YYYY-MM-DD').format('MMMM DD, YYYY')); }); - } - }); - - it('should render the policy list', () => { - loadPage('/app/security/administration/policy'); - cy.getByTestSubj('policy-list-outdated-manifests-call-out').should('contain', '2 policies'); - dates.forEach((date) => { - cy.contains(moment.utc(date, 'YYYY-MM-DD').format('MMMM DD, YYYY')); + cy.getByTestSubj('policyDeployedVersion').should('have.length', 4); }); - cy.getByTestSubj('policyDeployedVersion').should('have.length', 4); }); - }); - describe('Renders policy list with no outdated policies', () => { - let indexedPolicy: IndexedFleetEndpointPolicyResponse; + describe('Renders policy list with no outdated policies', () => { + let indexedPolicy: IndexedFleetEndpointPolicyResponse; - beforeEach(() => { - login(); - disableExpandableFlyoutAdvancedSettings(); - }); + beforeEach(() => { + login(); + disableExpandableFlyoutAdvancedSettings(); + }); - before(() => { - getEndpointIntegrationVersion().then((version) => { - createAgentPolicyTask(version).then((data) => { - indexedPolicy = data; + before(() => { + getEndpointIntegrationVersion().then((version) => { + createAgentPolicyTask(version).then((data) => { + indexedPolicy = data; + }); }); }); - }); - after(() => { - if (indexedPolicy) { - cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); - } - }); + after(() => { + if (indexedPolicy) { + cy.task('deleteIndexedFleetEndpointPolicies', indexedPolicy); + } + }); - it('should render the list', () => { - loadPage('/app/security/administration/policy'); - cy.getByTestSubj('policy-list-outdated-manifests-call-out').should('not.exist'); - cy.getByTestSubj('policyDeployedVersion').should('have.length', 1); - cy.getByTestSubj('policyDeployedVersion').should('have.text', 'latest'); + it('should render the list', () => { + loadPage('/app/security/administration/policy'); + cy.getByTestSubj('policy-list-outdated-manifests-call-out').should('not.exist'); + cy.getByTestSubj('policyDeployedVersion').should('have.length', 1); + cy.getByTestSubj('policyDeployedVersion').should('have.text', 'latest'); + }); }); - }); -}); + } +); From 05e0666d23a93d4bbce4438b0b99f5d364d6092a Mon Sep 17 00:00:00 2001 From: Anton Dosov <anton.dosov@elastic.co> Date: Mon, 18 Sep 2023 16:39:57 +0200 Subject: [PATCH 089/149] [Serverless] Show project name in the header (#166442) > [!IMPORTANT] > I plan to merge this as an intermediate state. The next step is changing the breadcrumbs component and make the project name as part of it https://github.com/elastic/kibana/issues/166593 ## Summary close https://github.com/elastic/kibana/issues/166182 Shows project name in the Kibana header. To test locally add to the `config/serverless.yml`: ``` xpack.cloud.serverless.project_id: "random" xpack.cloud.serverless.project_name: "My Search Project" ``` ![Screenshot 2023-09-14 at 13 01 44](https://github.com/elastic/kibana/assets/7784120/4c658e19-5509-4a56-8752-a3a0f677d454) I hardcoded 320px max-width to enable truncation for longer titles: ![Screenshot 2023-09-14 at 13 02 11](https://github.com/elastic/kibana/assets/7784120/4cab9643-3eb2-4d50-a737-66bb98a46109) In general, the header is not very flexible and has issues on smaller screen, but this needs to be fixed separately. The link still leads to the `/projects` page of the cloud UI --- .../src/chrome_service.tsx | 7 +++++++ .../project_navigation_service.ts | 7 +++++++ .../core-chrome-browser-internal/src/types.ts | 6 ++++++ .../src/ui/project/header.test.tsx | 2 ++ .../src/ui/project/header.tsx | 16 ++++++++++++++-- .../src/chrome_service.mock.ts | 1 + x-pack/plugins/serverless/public/plugin.tsx | 3 +++ 7 files changed, 40 insertions(+), 2 deletions(-) diff --git a/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx b/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx index 02ba5a912cd40..47abc6c5646fe 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/chrome_service.tsx @@ -278,6 +278,11 @@ export class ChromeService { projectNavigation.setProjectsUrl(projectsUrl); }; + const setProjectName = (projectName: string) => { + validateChromeStyle(); + projectNavigation.setProjectName(projectName); + }; + const isIE = () => { const ua = window.navigator.userAgent; const msie = ua.indexOf('MSIE '); // IE 10 or older @@ -371,6 +376,7 @@ export class ChromeService { headerBanner$={headerBanner$.pipe(takeUntil(this.stop$))} homeHref$={projectNavigation.getProjectHome$()} projectsUrl$={projectNavigation.getProjectsUrl$()} + projectName$={projectNavigation.getProjectName$()} docLinks={docLinks} kibanaVersion={injectedMetadata.getKibanaVersion()} prependBasePath={http.basePath.prepend} @@ -499,6 +505,7 @@ export class ChromeService { project: { setHome: setProjectHome, setProjectsUrl, + setProjectName, setNavigation: setProjectNavigation, setSideNavComponent: setProjectSideNavComponent, setBreadcrumbs: setProjectBreadcrumbs, diff --git a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts index 90be8ff754053..65d7fcc1bf559 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/project_navigation/project_navigation_service.ts @@ -46,6 +46,7 @@ export class ProjectNavigationService { }>({ current: null }); private projectHome$ = new BehaviorSubject<string | undefined>(undefined); private projectsUrl$ = new BehaviorSubject<string | undefined>(undefined); + private projectName$ = new BehaviorSubject<string | undefined>(undefined); private projectNavigation$ = new BehaviorSubject<ChromeProjectNavigation | undefined>(undefined); private activeNodes$ = new BehaviorSubject<ChromeProjectNavigationNode[][]>([]); private projectNavigationNavTreeFlattened: Record<string, ChromeProjectNavigationNode> = {}; @@ -98,6 +99,12 @@ export class ProjectNavigationService { getProjectsUrl$: () => { return this.projectsUrl$.asObservable(); }, + setProjectName: (projectName: string) => { + this.projectName$.next(projectName); + }, + getProjectName$: () => { + return this.projectName$.asObservable(); + }, setProjectNavigation: (projectNavigation: ChromeProjectNavigation) => { this.projectNavigation$.next(projectNavigation); this.projectNavigationNavTreeFlattened = flattenNav(projectNavigation.navigationTree); diff --git a/packages/core/chrome/core-chrome-browser-internal/src/types.ts b/packages/core/chrome/core-chrome-browser-internal/src/types.ts index 1eea86ad4090d..009aa57ee6b3b 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/types.ts +++ b/packages/core/chrome/core-chrome-browser-internal/src/types.ts @@ -50,6 +50,12 @@ export interface InternalChromeStart extends ChromeStart { */ setProjectsUrl(projectsUrl: string): void; + /** + * Sets the project name. + * @param projectName + */ + setProjectName(projectName: string): void; + /** * Sets the project navigation config to be used for rendering project navigation. * It is used for default project sidenav, project breadcrumbs, tracking active deep link. diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.test.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.test.tsx index b2a1cecede239..167b11629ce55 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.test.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.test.tsx @@ -29,6 +29,7 @@ describe('Header', () => { helpMenuLinks$: Rx.of([]), homeHref$: Rx.of('app/home'), projectsUrl$: Rx.of('/projects/'), + projectName$: Rx.of('My Project'), kibanaVersion: '8.9', loadingCount$: Rx.of(0), navControlsLeft$: Rx.of([]), @@ -82,5 +83,6 @@ describe('Header', () => { const projectsLink = await screen.getByTestId('projectsLink'); expect(projectsLink).toHaveAttribute('href', '/projects/'); + expect(projectsLink).toHaveTextContent('My Project'); }); }); diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx index 239b8487e1a06..1cbf8eaa9af0a 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/project/header.tsx @@ -73,6 +73,12 @@ const getHeaderCss = ({ size }: EuiThemeComputed) => ({ padding-right: ${size.xs}; `, }, + projectName: { + link: css` + /* TODO: make header layout more flexible? */ + max-width: 320px; + `, + }, }); type HeaderCss = ReturnType<typeof getHeaderCss>; @@ -107,6 +113,7 @@ export interface Props { helpMenuLinks$: Observable<ChromeHelpMenuLink[]>; homeHref$: Observable<string | undefined>; projectsUrl$: Observable<string | undefined>; + projectName$: Observable<string | undefined>; kibanaVersion: string; application: InternalApplicationStart; loadingCount$: ReturnType<HttpStart['getLoadingCount$']>; @@ -184,6 +191,7 @@ export const ProjectHeader = ({ const toggleCollapsibleNavRef = createRef<HTMLButtonElement & { euiAnimate: () => void }>(); const headerActionMenuMounter = useHeaderActionMenuMounter(observables.actionMenu$); const projectsUrl = useObservable(observables.projectsUrl$); + const projectName = useObservable(observables.projectName$); const { euiTheme } = useEuiTheme(); const headerCss = getHeaderCss(euiTheme); const { logo: logoCss } = headerCss; @@ -246,8 +254,12 @@ export const ProjectHeader = ({ </EuiHeaderSectionItem> <EuiHeaderSectionItem> - <EuiHeaderLink href={projectsUrl} data-test-subj={'projectsLink'}> - {headerStrings.cloud.linkToProjects} + <EuiHeaderLink + href={projectsUrl} + data-test-subj={'projectsLink'} + css={headerCss.projectName.link} + > + {projectName ?? headerStrings.cloud.linkToProjects} </EuiHeaderLink> </EuiHeaderSectionItem> diff --git a/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts b/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts index 884426a7f037a..225263674e595 100644 --- a/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts +++ b/packages/core/chrome/core-chrome-browser-mocks/src/chrome_service.mock.ts @@ -70,6 +70,7 @@ const createStartContractMock = () => { project: { setHome: jest.fn(), setProjectsUrl: jest.fn(), + setProjectName: jest.fn(), setNavigation: jest.fn(), setSideNavComponent: jest.fn(), setBreadcrumbs: jest.fn(), diff --git a/x-pack/plugins/serverless/public/plugin.tsx b/x-pack/plugins/serverless/public/plugin.tsx index d49447e4d36dd..2b2c11001e8f3 100644 --- a/x-pack/plugins/serverless/public/plugin.tsx +++ b/x-pack/plugins/serverless/public/plugin.tsx @@ -68,6 +68,9 @@ export class ServerlessPlugin if (dependencies.cloud.projectsUrl) { project.setProjectsUrl(dependencies.cloud.projectsUrl); } + if (dependencies.cloud.serverless.projectName) { + project.setProjectName(dependencies.cloud.serverless.projectName); + } return { setSideNavComponent: (sideNavigationComponent) => From d8c112e9b73b8a02b8917bb7237cab8595d7ff82 Mon Sep 17 00:00:00 2001 From: Devon Thomson <devon.thomson@elastic.co> Date: Mon, 18 Sep 2023 11:41:12 -0400 Subject: [PATCH 090/149] [Serverless] Unify Dashboard app IDs in functional tests (#166377) Removes all usages of `PageObjects.common.navigateToApp('dashboard')` in favour of a Dashboard page method. --- src/plugins/dashboard/public/plugin.tsx | 4 ++-- ...rd_dark.svg => kibana_dashboards_dark.svg} | 0 ..._light.svg => kibana_dashboards_light.svg} | 0 .../public/components/overview/overview.tsx | 2 +- .../apps/context/_discover_navigation.ts | 2 +- .../context/classic/_discover_navigation.ts | 2 +- .../group1/create_and_add_embeddables.ts | 4 ++-- .../group1/dashboard_unsaved_listing.ts | 2 +- .../group1/dashboard_unsaved_state.ts | 6 ++--- .../group1/edit_embeddable_redirects.ts | 4 ++-- .../dashboard/group1/edit_visualizations.js | 6 ++--- .../dashboard/group1/embeddable_data_grid.ts | 2 +- .../dashboard/group1/embeddable_rendering.ts | 2 +- .../dashboard/group1/url_field_formatter.ts | 2 +- .../dashboard/group2/dashboard_filter_bar.ts | 2 +- .../dashboard/group2/dashboard_filtering.ts | 2 +- .../apps/dashboard/group2/full_screen_mode.ts | 2 +- .../dashboard/group2/panel_expand_toggle.ts | 2 +- .../apps/dashboard/group3/copy_panel_to.ts | 2 +- .../apps/dashboard/group4/dashboard_empty.ts | 4 ++-- .../apps/dashboard/group4/dashboard_time.ts | 2 +- .../dashboard/group5/dashboard_back_button.ts | 2 +- .../group5/dashboard_error_handling.ts | 2 +- .../dashboard/group5/dashboard_query_bar.ts | 2 +- .../dashboard/group5/dashboard_settings.ts | 2 +- .../group5/data_shared_attributes.ts | 2 +- .../apps/dashboard/group5/embed_mode.ts | 2 +- .../apps/dashboard/group5/empty_dashboard.ts | 2 +- .../apps/dashboard/group5/legacy_urls.ts | 4 ++-- .../group5/saved_search_embeddable.ts | 2 +- .../functional/apps/dashboard/group5/share.ts | 2 +- .../apps/dashboard/group6/dashboard_grid.ts | 2 +- .../dashboard/group6/dashboard_saved_query.ts | 2 +- .../dashboard/group6/dashboard_snapshots.ts | 2 +- .../dashboard/group6/embeddable_library.ts | 2 +- .../apps/dashboard/group6/view_edit.ts | 2 +- .../controls/common/control_group_chaining.ts | 2 +- .../controls/common/control_group_settings.ts | 8 ++----- .../controls/common/index.ts | 10 +++------ .../controls/common/range_slider.ts | 4 ++-- .../controls/common/replace_controls.ts | 2 +- .../controls/common/time_slider.ts | 7 +++--- .../controls/options_list/index.ts | 4 ++-- ...ptions_list_allow_expensive_queries_off.ts | 2 +- .../options_list_dashboard_interaction.ts | 2 +- .../image_embeddable/image_embeddable.ts | 2 +- .../embeddable/_saved_search_embeddable.ts | 2 +- .../discover/group1/_discover_histogram.ts | 11 ++++++++-- .../apps/discover/group2/_adhoc_data_views.ts | 2 +- .../apps/discover/group2/_chart_hidden.ts | 4 ++-- .../discover/group2/_data_grid_context.ts | 2 +- .../discover/group2/_data_grid_doc_table.ts | 2 +- .../apps/kibana_overview/_analytics.ts | 2 +- .../apps/management/_kibana_settings.ts | 4 ++-- .../group1/_data_table_notimeindex_filters.ts | 2 +- .../visualize/group3/_add_to_dashboard.ts | 8 +++---- .../visualize/group5/_tsvb_time_series.ts | 2 +- .../functional/page_objects/dashboard_page.ts | 8 ++++++- .../page_objects/time_to_visualize_page.ts | 2 +- .../feature_controls/dashboard_security.ts | 4 ++-- .../time_to_visualize_security.ts | 6 ++--- .../apps/dashboard/group1/preserve_url.ts | 4 ++-- .../apps/dashboard/group2/_async_dashboard.ts | 2 +- .../group2/dashboard_lens_by_value.ts | 2 +- .../group2/dashboard_maps_by_value.ts | 2 +- .../group2/dashboard_search_by_value.ts | 2 +- .../controls_migration_smoke_test.ts | 5 ++--- .../lens_migration_smoke_test.ts | 2 +- .../tsvb_migration_smoke_test.ts | 4 ++-- .../visualize_migration_smoke_test.ts | 2 +- .../apps/dashboard/group2/panel_time_range.ts | 2 +- .../apps/dashboard/group2/panel_titles.ts | 2 +- .../apps/dashboard/group2/sync_colors.ts | 2 +- .../dashboard_to_dashboard_drilldown.ts | 4 ++-- .../drilldowns/dashboard_to_url_drilldown.ts | 2 +- .../drilldowns/explore_data_chart_action.ts | 4 ++-- .../drilldowns/explore_data_panel_action.ts | 8 +++---- .../group3/reporting/download_csv.ts | 2 +- .../dashboard/group3/reporting/screenshots.ts | 10 ++++----- .../apps/discover/async_scripted_fields.js | 2 +- .../apps/discover/saved_searches.ts | 2 +- .../apps/lens/group3/add_to_dashboard.ts | 2 +- .../functional/apps/lens/group4/dashboard.ts | 22 +++++++++---------- .../apps/lens/group6/error_handling.ts | 4 ++-- .../apps/lens/group6/lens_reporting.ts | 2 +- .../apps/lens/group6/lens_tagging.ts | 2 +- .../group2/embeddable/add_to_dashboard.js | 8 +++---- .../apps/maps/group2/embeddable/dashboard.js | 4 ++-- .../group2/embeddable/embeddable_library.js | 2 +- .../group2/embeddable/embeddable_state.js | 2 +- .../group2/embeddable/filter_by_map_extent.js | 2 +- .../maps/group2/embeddable/save_and_return.js | 4 ++-- .../embeddable/tooltip_filter_actions.js | 2 +- .../apps/maps/group3/reports/index.ts | 4 ++-- .../anomaly_charts_dashboard_embeddables.ts | 2 +- .../anomaly_embeddables_migration.ts | 4 ++-- .../lens_to_ml.ts | 2 +- .../lens_to_ml_with_wizard.ts | 2 +- .../map_to_ml.ts | 2 +- ...index_data_visualizer_grid_in_dashboard.ts | 4 ++-- .../import_saved_objects_between_versions.ts | 2 +- .../apps/spaces/spaces_selection.ts | 2 +- .../functional/apps/visualize/telemetry.ts | 2 +- 103 files changed, 170 insertions(+), 167 deletions(-) rename src/plugins/kibana_overview/public/assets/{kibana_dashboard_dark.svg => kibana_dashboards_dark.svg} (100%) rename src/plugins/kibana_overview/public/assets/{kibana_dashboard_light.svg => kibana_dashboards_light.svg} (100%) diff --git a/src/plugins/dashboard/public/plugin.tsx b/src/plugins/dashboard/public/plugin.tsx index d2802a8ef3b6d..4d46b837da5ca 100644 --- a/src/plugins/dashboard/public/plugin.tsx +++ b/src/plugins/dashboard/public/plugin.tsx @@ -282,7 +282,7 @@ export class DashboardPlugin if (home) { home.featureCatalogue.register({ - id: LEGACY_DASHBOARD_APP_ID, + id: DASHBOARD_APP_ID, title: dashboardAppTitle, subtitle: i18n.translate('dashboard.featureCatalogue.dashboardSubtitle', { defaultMessage: 'Analyze data in dashboards.', @@ -291,7 +291,7 @@ export class DashboardPlugin defaultMessage: 'Display and share a collection of visualizations and saved searches.', }), icon: 'dashboardApp', - path: `/app/dashboards#${LANDING_PAGE_PATH}`, + path: `/app/${DASHBOARD_APP_ID}#${LANDING_PAGE_PATH}`, showOnHomePage: false, category: 'data', solutionId: 'kibana', diff --git a/src/plugins/kibana_overview/public/assets/kibana_dashboard_dark.svg b/src/plugins/kibana_overview/public/assets/kibana_dashboards_dark.svg similarity index 100% rename from src/plugins/kibana_overview/public/assets/kibana_dashboard_dark.svg rename to src/plugins/kibana_overview/public/assets/kibana_dashboards_dark.svg diff --git a/src/plugins/kibana_overview/public/assets/kibana_dashboard_light.svg b/src/plugins/kibana_overview/public/assets/kibana_dashboards_light.svg similarity index 100% rename from src/plugins/kibana_overview/public/assets/kibana_dashboard_light.svg rename to src/plugins/kibana_overview/public/assets/kibana_dashboards_light.svg diff --git a/src/plugins/kibana_overview/public/components/overview/overview.tsx b/src/plugins/kibana_overview/public/components/overview/overview.tsx index f6d97d54681e8..0df0e583699f7 100644 --- a/src/plugins/kibana_overview/public/components/overview/overview.tsx +++ b/src/plugins/kibana_overview/public/components/overview/overview.tsx @@ -162,7 +162,7 @@ export const Overview: FC<Props> = ({ newsFetchResult, solutions, features }) => }; // Dashboard and discover are displayed in larger cards - const mainApps = ['dashboard', 'discover']; + const mainApps = ['dashboards', 'discover']; const remainingApps = kibanaApps.map(({ id }) => id).filter((id) => !mainApps.includes(id)); const onDataViewCreated = () => { diff --git a/test/functional/apps/context/_discover_navigation.ts b/test/functional/apps/context/_discover_navigation.ts index 99e27b52983a0..54c743df37309 100644 --- a/test/functional/apps/context/_discover_navigation.ts +++ b/test/functional/apps/context/_discover_navigation.ts @@ -134,7 +134,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.discover.saveSearch('my search'); await PageObjects.header.waitUntilLoadingHasFinished(); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); diff --git a/test/functional/apps/context/classic/_discover_navigation.ts b/test/functional/apps/context/classic/_discover_navigation.ts index b0b7f672a75b3..d20de752061e9 100644 --- a/test/functional/apps/context/classic/_discover_navigation.ts +++ b/test/functional/apps/context/classic/_discover_navigation.ts @@ -136,7 +136,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.discover.saveSearch('my classic search'); await PageObjects.header.waitUntilLoadingHasFinished(); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); diff --git a/test/functional/apps/dashboard/group1/create_and_add_embeddables.ts b/test/functional/apps/dashboard/group1/create_and_add_embeddables.ts index bc79023bd51b7..9531606e649f3 100644 --- a/test/functional/apps/dashboard/group1/create_and_add_embeddables.ts +++ b/test/functional/apps/dashboard/group1/create_and_add_embeddables.ts @@ -30,7 +30,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('ensure toolbar popover closes on add', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.switchToEditMode(); await dashboardAddPanel.clickEditorMenuButton(); @@ -44,7 +44,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('add new visualization link', () => { before(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('few panels'); }); diff --git a/test/functional/apps/dashboard/group1/dashboard_unsaved_listing.ts b/test/functional/apps/dashboard/group1/dashboard_unsaved_listing.ts index 73e97aab3cb36..87c19402a51be 100644 --- a/test/functional/apps/dashboard/group1/dashboard_unsaved_listing.ts +++ b/test/functional/apps/dashboard/group1/dashboard_unsaved_listing.ts @@ -42,7 +42,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); }); diff --git a/test/functional/apps/dashboard/group1/dashboard_unsaved_state.ts b/test/functional/apps/dashboard/group1/dashboard_unsaved_state.ts index 51669b395b6f1..902e76342ec98 100644 --- a/test/functional/apps/dashboard/group1/dashboard_unsaved_state.ts +++ b/test/functional/apps/dashboard/group1/dashboard_unsaved_state.ts @@ -32,7 +32,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('few panels'); await PageObjects.header.waitUntilLoadingHasFinished(); @@ -71,7 +71,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.header.waitUntilLoadingHasFinished(); await PageObjects.visualize.gotoVisualizationLandingPage(); await PageObjects.header.waitUntilLoadingHasFinished(); - await PageObjects.common.navigateToApp('dashboards'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('few panels'); await PageObjects.dashboard.waitForRenderComplete(); await validateQueryAndFilter(); @@ -138,7 +138,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.header.waitUntilLoadingHasFinished(); await PageObjects.visualize.gotoVisualizationLandingPage(); await PageObjects.header.waitUntilLoadingHasFinished(); - await PageObjects.common.navigateToApp('dashboards'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('few panels'); const currentPanelCount = await PageObjects.dashboard.getPanelCount(); expect(currentPanelCount).to.eql(unsavedPanelCount); diff --git a/test/functional/apps/dashboard/group1/edit_embeddable_redirects.ts b/test/functional/apps/dashboard/group1/edit_embeddable_redirects.ts index 7ed4cba6c7089..f11ca330bf178 100644 --- a/test/functional/apps/dashboard/group1/edit_embeddable_redirects.ts +++ b/test/functional/apps/dashboard/group1/edit_embeddable_redirects.ts @@ -25,7 +25,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('few panels'); await PageObjects.dashboard.switchToEditMode(); @@ -86,7 +86,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { redirectToOrigin: false, }); await PageObjects.visualize.notLinkedToOriginatingApp(); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); it('loses originatingApp connection after first save when redirectToOrigin is false', async () => { diff --git a/test/functional/apps/dashboard/group1/edit_visualizations.js b/test/functional/apps/dashboard/group1/edit_visualizations.js index d4de54586b731..20234ca1f8055 100644 --- a/test/functional/apps/dashboard/group1/edit_visualizations.js +++ b/test/functional/apps/dashboard/group1/edit_visualizations.js @@ -50,7 +50,7 @@ export default function ({ getService, getPageObjects }) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); after(async () => { @@ -114,7 +114,7 @@ export default function ({ getService, getPageObjects }) { }); it('visualize app menu navigates to the visualize listing page if the last opened visualization was linked to dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); @@ -133,7 +133,7 @@ export default function ({ getService, getPageObjects }) { describe('by value', () => { it('save and return button returns to dashboard after editing visualization with changes saved', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await createMarkdownVis(); diff --git a/test/functional/apps/dashboard/group1/embeddable_data_grid.ts b/test/functional/apps/dashboard/group1/embeddable_data_grid.ts index 85277e63d6f6c..71da8fadea4af 100644 --- a/test/functional/apps/dashboard/group1/embeddable_data_grid.ts +++ b/test/functional/apps/dashboard/group1/embeddable_data_grid.ts @@ -31,7 +31,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', 'doc_table:legacy': false, }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await filterBar.ensureFieldEditorModalIsClosed(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); diff --git a/test/functional/apps/dashboard/group1/embeddable_rendering.ts b/test/functional/apps/dashboard/group1/embeddable_rendering.ts index d7addf89ac404..45408a8846c17 100644 --- a/test/functional/apps/dashboard/group1/embeddable_rendering.ts +++ b/test/functional/apps/dashboard/group1/embeddable_rendering.ts @@ -114,7 +114,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); await PageObjects.common.setTime({ from, to }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); await elasticChart.setNewChartUiDebugFlag(true); diff --git a/test/functional/apps/dashboard/group1/url_field_formatter.ts b/test/functional/apps/dashboard/group1/url_field_formatter.ts index 688499a36e34c..d2a4be0598a35 100644 --- a/test/functional/apps/dashboard/group1/url_field_formatter.ts +++ b/test/functional/apps/dashboard/group1/url_field_formatter.ts @@ -60,7 +60,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('applied on dashboard', async () => { - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.loadSavedDashboard('dashboard with table'); await dashboard.waitForRenderComplete(); const fieldLink = await visChart.getFieldLinkInVisTable(`${fieldName}: Descending`); diff --git a/test/functional/apps/dashboard/group2/dashboard_filter_bar.ts b/test/functional/apps/dashboard/group2/dashboard_filter_bar.ts index 1244e179f7f6a..da9660ac4f4cb 100644 --- a/test/functional/apps/dashboard/group2/dashboard_filter_bar.ts +++ b/test/functional/apps/dashboard/group2/dashboard_filter_bar.ts @@ -47,7 +47,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); after(async () => { diff --git a/test/functional/apps/dashboard/group2/dashboard_filtering.ts b/test/functional/apps/dashboard/group2/dashboard_filtering.ts index 1fb70ef508c2b..24f276b831036 100644 --- a/test/functional/apps/dashboard/group2/dashboard_filtering.ts +++ b/test/functional/apps/dashboard/group2/dashboard_filtering.ts @@ -66,7 +66,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.gotoDashboardLandingPage(); }); diff --git a/test/functional/apps/dashboard/group2/full_screen_mode.ts b/test/functional/apps/dashboard/group2/full_screen_mode.ts index 53cb707961ea6..23be5e4b7afe6 100644 --- a/test/functional/apps/dashboard/group2/full_screen_mode.ts +++ b/test/functional/apps/dashboard/group2/full_screen_mode.ts @@ -27,7 +27,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('few panels'); }); diff --git a/test/functional/apps/dashboard/group2/panel_expand_toggle.ts b/test/functional/apps/dashboard/group2/panel_expand_toggle.ts index f33280ba7bb79..99d09a5f42e7e 100644 --- a/test/functional/apps/dashboard/group2/panel_expand_toggle.ts +++ b/test/functional/apps/dashboard/group2/panel_expand_toggle.ts @@ -25,7 +25,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('few panels'); }); diff --git a/test/functional/apps/dashboard/group3/copy_panel_to.ts b/test/functional/apps/dashboard/group3/copy_panel_to.ts index 1f40f780a5398..81c5406426127 100644 --- a/test/functional/apps/dashboard/group3/copy_panel_to.ts +++ b/test/functional/apps/dashboard/group3/copy_panel_to.ts @@ -46,7 +46,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard(fewPanelsTitle); await PageObjects.dashboard.waitForRenderComplete(); diff --git a/test/functional/apps/dashboard/group4/dashboard_empty.ts b/test/functional/apps/dashboard/group4/dashboard_empty.ts index 02437b0685694..03a9d965d589b 100644 --- a/test/functional/apps/dashboard/group4/dashboard_empty.ts +++ b/test/functional/apps/dashboard/group4/dashboard_empty.ts @@ -34,7 +34,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); log.debug('load kibana with no data'); await kibanaServer.importExport.unload(kbnDirectory); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); after(async () => { @@ -54,7 +54,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.savedObjects.clean({ types: ['search', 'index-pattern'] }); // create the new data view from the dashboards/create route in order to test that the dashboard is loaded properly as soon as the data view is created... - await PageObjects.common.navigateToApp('dashboard', { hash: '/create' }); + await PageObjects.common.navigateToApp('dashboards', { hash: '/create' }); const button = await testSubjects.find('createDataViewButton'); button.click(); diff --git a/test/functional/apps/dashboard/group4/dashboard_time.ts b/test/functional/apps/dashboard/group4/dashboard_time.ts index e1dbefa63ac74..2b35c5e78f331 100644 --- a/test/functional/apps/dashboard/group4/dashboard_time.ts +++ b/test/functional/apps/dashboard/group4/dashboard_time.ts @@ -24,7 +24,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); after(async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); describe('dashboard without stored timed', () => { diff --git a/test/functional/apps/dashboard/group5/dashboard_back_button.ts b/test/functional/apps/dashboard/group5/dashboard_back_button.ts index 1fd9614d2421a..c8fbf1c6da411 100644 --- a/test/functional/apps/dashboard/group5/dashboard_back_button.ts +++ b/test/functional/apps/dashboard/group5/dashboard_back_button.ts @@ -25,7 +25,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); }); diff --git a/test/functional/apps/dashboard/group5/dashboard_error_handling.ts b/test/functional/apps/dashboard/group5/dashboard_error_handling.ts index a3265fdcc7f9d..ab8e8ac76f85b 100644 --- a/test/functional/apps/dashboard/group5/dashboard_error_handling.ts +++ b/test/functional/apps/dashboard/group5/dashboard_error_handling.ts @@ -33,7 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.importExport.load( 'test/functional/fixtures/kbn_archiver/dashboard_error_cases.json' ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); after(async () => { diff --git a/test/functional/apps/dashboard/group5/dashboard_query_bar.ts b/test/functional/apps/dashboard/group5/dashboard_query_bar.ts index 010aec9607816..a3bfcea2eaa2a 100644 --- a/test/functional/apps/dashboard/group5/dashboard_query_bar.ts +++ b/test/functional/apps/dashboard/group5/dashboard_query_bar.ts @@ -29,7 +29,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('dashboard with filter'); }); diff --git a/test/functional/apps/dashboard/group5/dashboard_settings.ts b/test/functional/apps/dashboard/group5/dashboard_settings.ts index bbfb867cdf176..ae0e727814eef 100644 --- a/test/functional/apps/dashboard/group5/dashboard_settings.ts +++ b/test/functional/apps/dashboard/group5/dashboard_settings.ts @@ -28,7 +28,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('few panels'); await PageObjects.dashboard.switchToEditMode(); diff --git a/test/functional/apps/dashboard/group5/data_shared_attributes.ts b/test/functional/apps/dashboard/group5/data_shared_attributes.ts index 71d8a16b2f7d8..3202d418bd512 100644 --- a/test/functional/apps/dashboard/group5/data_shared_attributes.ts +++ b/test/functional/apps/dashboard/group5/data_shared_attributes.ts @@ -30,7 +30,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('dashboard with everything'); await PageObjects.dashboard.waitForRenderComplete(); diff --git a/test/functional/apps/dashboard/group5/embed_mode.ts b/test/functional/apps/dashboard/group5/embed_mode.ts index 16934fc9101a8..3c2cfbae77a9f 100644 --- a/test/functional/apps/dashboard/group5/embed_mode.ts +++ b/test/functional/apps/dashboard/group5/embed_mode.ts @@ -49,7 +49,7 @@ export default function ({ await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('dashboard with everything'); diff --git a/test/functional/apps/dashboard/group5/empty_dashboard.ts b/test/functional/apps/dashboard/group5/empty_dashboard.ts index 49fa50c075427..6939833a80086 100644 --- a/test/functional/apps/dashboard/group5/empty_dashboard.ts +++ b/test/functional/apps/dashboard/group5/empty_dashboard.ts @@ -27,7 +27,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); }); diff --git a/test/functional/apps/dashboard/group5/legacy_urls.ts b/test/functional/apps/dashboard/group5/legacy_urls.ts index 54834bf8969b7..03dabfe87ba2f 100644 --- a/test/functional/apps/dashboard/group5/legacy_urls.ts +++ b/test/functional/apps/dashboard/group5/legacy_urls.ts @@ -38,7 +38,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.importExport.load( 'test/functional/fixtures/kbn_archiver/dashboard/current/kibana' ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.addVisualization('Rendering-Test:-animal-sounds-pie'); await PageObjects.dashboard.saveDashboard('legacyTest', { waitDialogIsClosed: true }); @@ -109,7 +109,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('resolves markdown link from dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.addVisualization('legacy url markdown'); (await find.byLinkText('abc')).click(); diff --git a/test/functional/apps/dashboard/group5/saved_search_embeddable.ts b/test/functional/apps/dashboard/group5/saved_search_embeddable.ts index c409f3d802276..f20172d10ed5c 100644 --- a/test/functional/apps/dashboard/group5/saved_search_embeddable.ts +++ b/test/functional/apps/dashboard/group5/saved_search_embeddable.ts @@ -32,7 +32,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); await PageObjects.common.setTime({ from, to }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await filterBar.ensureFieldEditorModalIsClosed(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); diff --git a/test/functional/apps/dashboard/group5/share.ts b/test/functional/apps/dashboard/group5/share.ts index a6d9289313e62..45bb5cd80c508 100644 --- a/test/functional/apps/dashboard/group5/share.ts +++ b/test/functional/apps/dashboard/group5/share.ts @@ -109,7 +109,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const from = 'Sep 19, 2017 @ 06:31:44.000'; const to = 'Sep 23, 2018 @ 18:31:44.000'; await PageObjects.common.setTime({ from, to }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('few panels'); await PageObjects.dashboard.switchToEditMode(); diff --git a/test/functional/apps/dashboard/group6/dashboard_grid.ts b/test/functional/apps/dashboard/group6/dashboard_grid.ts index 90e2187e19eb4..c48a2973acc46 100644 --- a/test/functional/apps/dashboard/group6/dashboard_grid.ts +++ b/test/functional/apps/dashboard/group6/dashboard_grid.ts @@ -25,7 +25,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('few panels'); await PageObjects.dashboard.switchToEditMode(); diff --git a/test/functional/apps/dashboard/group6/dashboard_saved_query.ts b/test/functional/apps/dashboard/group6/dashboard_saved_query.ts index 1dad54234e8a3..5b00fe2caa01b 100644 --- a/test/functional/apps/dashboard/group6/dashboard_saved_query.ts +++ b/test/functional/apps/dashboard/group6/dashboard_saved_query.ts @@ -27,7 +27,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); after(async () => { diff --git a/test/functional/apps/dashboard/group6/dashboard_snapshots.ts b/test/functional/apps/dashboard/group6/dashboard_snapshots.ts index 99f7a7fe2654a..401c1fa649006 100644 --- a/test/functional/apps/dashboard/group6/dashboard_snapshots.ts +++ b/test/functional/apps/dashboard/group6/dashboard_snapshots.ts @@ -43,7 +43,7 @@ export default function ({ await browser.setScreenshotSize(1000, 500); // adding this navigate adds the timestamp hash to the url which invalidates previous // session. If we don't do this, the colors on the visualizations are different and the screenshots won't match. - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); after(async function () { diff --git a/test/functional/apps/dashboard/group6/embeddable_library.ts b/test/functional/apps/dashboard/group6/embeddable_library.ts index 472a2a890c978..55e7ae7cee13a 100644 --- a/test/functional/apps/dashboard/group6/embeddable_library.ts +++ b/test/functional/apps/dashboard/group6/embeddable_library.ts @@ -28,7 +28,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); }); diff --git a/test/functional/apps/dashboard/group6/view_edit.ts b/test/functional/apps/dashboard/group6/view_edit.ts index dfd62eeaa6cb3..a2ef56700357f 100644 --- a/test/functional/apps/dashboard/group6/view_edit.ts +++ b/test/functional/apps/dashboard/group6/view_edit.ts @@ -29,7 +29,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.uiSettings.replace({ defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); }); diff --git a/test/functional/apps/dashboard_elements/controls/common/control_group_chaining.ts b/test/functional/apps/dashboard_elements/controls/common/control_group_chaining.ts index 55d4e160a2e9c..7696b6a6f4762 100644 --- a/test/functional/apps/dashboard_elements/controls/common/control_group_chaining.ts +++ b/test/functional/apps/dashboard_elements/controls/common/control_group_chaining.ts @@ -55,7 +55,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { ); /* then, create our testing dashboard */ - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.gotoDashboardLandingPage(); await dashboard.clickNewDashboard(); await timePicker.setDefaultDataRange(); diff --git a/test/functional/apps/dashboard_elements/controls/common/control_group_settings.ts b/test/functional/apps/dashboard_elements/controls/common/control_group_settings.ts index e07d335236f79..aa3ae89015c5e 100644 --- a/test/functional/apps/dashboard_elements/controls/common/control_group_settings.ts +++ b/test/functional/apps/dashboard_elements/controls/common/control_group_settings.ts @@ -14,15 +14,11 @@ import { FtrProviderContext } from '../../../../ftr_provider_context'; export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const find = getService('find'); - const { dashboardControls, common, dashboard } = getPageObjects([ - 'dashboardControls', - 'dashboard', - 'common', - ]); + const { dashboardControls, dashboard } = getPageObjects(['dashboardControls', 'dashboard']); describe('Dashboard control group settings', () => { before(async () => { - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.gotoDashboardLandingPage(); await dashboard.clickNewDashboard(); await dashboard.saveDashboard('Test Control Group Settings'); diff --git a/test/functional/apps/dashboard_elements/controls/common/index.ts b/test/functional/apps/dashboard_elements/controls/common/index.ts index 99bd616de4607..8a9a7b8a54834 100644 --- a/test/functional/apps/dashboard_elements/controls/common/index.ts +++ b/test/functional/apps/dashboard_elements/controls/common/index.ts @@ -13,11 +13,7 @@ export default function ({ loadTestFile, getService, getPageObjects }: FtrProvid const kibanaServer = getService('kibanaServer'); const security = getService('security'); - const { dashboardControls, common, dashboard } = getPageObjects([ - 'dashboardControls', - 'dashboard', - 'common', - ]); + const { dashboardControls, dashboard } = getPageObjects(['dashboardControls', 'dashboard']); async function setup() { await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/dashboard/current/data'); @@ -31,9 +27,9 @@ export default function ({ loadTestFile, getService, getPageObjects }: FtrProvid }); // enable the controls lab and navigate to the dashboard listing page to start - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboardControls.enableControlsLab(); - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.preserveCrossAppState(); } diff --git a/test/functional/apps/dashboard_elements/controls/common/range_slider.ts b/test/functional/apps/dashboard_elements/controls/common/range_slider.ts index 21bdb4f897603..b97acde63f40b 100644 --- a/test/functional/apps/dashboard_elements/controls/common/range_slider.ts +++ b/test/functional/apps/dashboard_elements/controls/common/range_slider.ts @@ -49,9 +49,9 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { from: 'Oct 22, 2018 @ 00:00:00.000', to: 'Dec 3, 2018 @ 00:00:00.000', }); - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboardControls.enableControlsLab(); - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.preserveCrossAppState(); await dashboard.gotoDashboardLandingPage(); await dashboard.clickNewDashboard(); diff --git a/test/functional/apps/dashboard_elements/controls/common/replace_controls.ts b/test/functional/apps/dashboard_elements/controls/common/replace_controls.ts index dbc8682caf63e..5c065f7f000f5 100644 --- a/test/functional/apps/dashboard_elements/controls/common/replace_controls.ts +++ b/test/functional/apps/dashboard_elements/controls/common/replace_controls.ts @@ -50,7 +50,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { let controlId: string; before(async () => { - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader', 'animals']); await dashboard.gotoDashboardLandingPage(); await dashboard.clickNewDashboard(); diff --git a/test/functional/apps/dashboard_elements/controls/common/time_slider.ts b/test/functional/apps/dashboard_elements/controls/common/time_slider.ts index 7e266376f8e74..520ef6560735f 100644 --- a/test/functional/apps/dashboard_elements/controls/common/time_slider.ts +++ b/test/functional/apps/dashboard_elements/controls/common/time_slider.ts @@ -17,12 +17,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const kibanaServer = getService('kibanaServer'); - const { dashboardControls, discover, timePicker, common, dashboard } = getPageObjects([ + const { dashboardControls, discover, timePicker, dashboard } = getPageObjects([ 'dashboardControls', 'discover', 'timePicker', 'dashboard', - 'common', ]); describe('Time Slider Control', async () => { @@ -55,7 +54,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('create, edit, and delete', async () => { before(async () => { - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.preserveCrossAppState(); await dashboard.gotoDashboardLandingPage(); await dashboard.clickNewDashboard(); @@ -132,7 +131,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('panel interactions', async () => { describe('saved search', async () => { before(async () => { - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.loadSavedDashboard('timeslider and saved search'); await dashboard.waitForRenderComplete(); }); diff --git a/test/functional/apps/dashboard_elements/controls/options_list/index.ts b/test/functional/apps/dashboard_elements/controls/options_list/index.ts index 2e1d803349936..966dbd91b7705 100644 --- a/test/functional/apps/dashboard_elements/controls/options_list/index.ts +++ b/test/functional/apps/dashboard_elements/controls/options_list/index.ts @@ -16,7 +16,7 @@ export default function ({ loadTestFile, getService, getPageObjects }: FtrProvid const kibanaServer = getService('kibanaServer'); const security = getService('security'); - const { timePicker, dashboard, common } = getPageObjects(['timePicker', 'dashboard', 'common']); + const { timePicker, dashboard } = getPageObjects(['timePicker', 'dashboard']); const setup = async () => { await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/dashboard/current/data'); @@ -29,7 +29,7 @@ export default function ({ loadTestFile, getService, getPageObjects }: FtrProvid defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.gotoDashboardLandingPage(); await dashboard.clickNewDashboard(); await timePicker.setDefaultDataRange(); diff --git a/test/functional/apps/dashboard_elements/controls/options_list/options_list_allow_expensive_queries_off.ts b/test/functional/apps/dashboard_elements/controls/options_list/options_list_allow_expensive_queries_off.ts index 84af82f349713..91774aee02f2d 100644 --- a/test/functional/apps/dashboard_elements/controls/options_list/options_list_allow_expensive_queries_off.ts +++ b/test/functional/apps/dashboard_elements/controls/options_list/options_list_allow_expensive_queries_off.ts @@ -42,7 +42,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { before(async () => { await setAllowExpensiveQueries(false); - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.clickNewDashboard(); await dashboard.ensureDashboardIsInEditMode(); await timePicker.setDefaultDataRange(); diff --git a/test/functional/apps/dashboard_elements/controls/options_list/options_list_dashboard_interaction.ts b/test/functional/apps/dashboard_elements/controls/options_list/options_list_dashboard_interaction.ts index fd506429ba54f..16d0b2cd5fc2d 100644 --- a/test/functional/apps/dashboard_elements/controls/options_list/options_list_dashboard_interaction.ts +++ b/test/functional/apps/dashboard_elements/controls/options_list/options_list_dashboard_interaction.ts @@ -39,7 +39,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { let controlId: string; const returnToDashboard = async () => { - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await header.waitUntilLoadingHasFinished(); await elasticChart.setNewChartUiDebugFlag(); await dashboard.loadSavedDashboard(OPTIONS_LIST_DASHBOARD_NAME); diff --git a/test/functional/apps/dashboard_elements/image_embeddable/image_embeddable.ts b/test/functional/apps/dashboard_elements/image_embeddable/image_embeddable.ts index caf229e8335bb..6fc586fb35bba 100644 --- a/test/functional/apps/dashboard_elements/image_embeddable/image_embeddable.ts +++ b/test/functional/apps/dashboard_elements/image_embeddable/image_embeddable.ts @@ -30,7 +30,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { defaultIndex: '0bf35f60-3dc9-11e8-8660-4d65aa086b3c', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.switchToEditMode(); }); diff --git a/test/functional/apps/discover/embeddable/_saved_search_embeddable.ts b/test/functional/apps/discover/embeddable/_saved_search_embeddable.ts index 8961af57a4ad2..2fb99d9ebb43f 100644 --- a/test/functional/apps/discover/embeddable/_saved_search_embeddable.ts +++ b/test/functional/apps/discover/embeddable/_saved_search_embeddable.ts @@ -44,7 +44,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); beforeEach(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await filterBar.ensureFieldEditorModalIsClosed(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); diff --git a/test/functional/apps/discover/group1/_discover_histogram.ts b/test/functional/apps/discover/group1/_discover_histogram.ts index db83f764ce6f5..6e30f75f90a10 100644 --- a/test/functional/apps/discover/group1/_discover_histogram.ts +++ b/test/functional/apps/discover/group1/_discover_histogram.ts @@ -15,7 +15,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const elasticChart = getService('elasticChart'); const kibanaServer = getService('kibanaServer'); const security = getService('security'); - const PageObjects = getPageObjects(['settings', 'common', 'discover', 'header', 'timePicker']); + const PageObjects = getPageObjects([ + 'timePicker', + 'dashboard', + 'settings', + 'discover', + 'common', + 'header', + ]); const defaultSettings = { defaultIndex: 'long-window-logstash-*', 'dateFormat:tz': 'Europe/Berlin', @@ -253,7 +260,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); // go to dashboard - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.header.waitUntilLoadingHasFinished(); // go to discover diff --git a/test/functional/apps/discover/group2/_adhoc_data_views.ts b/test/functional/apps/discover/group2/_adhoc_data_views.ts index 299efefc12fb8..04880c1cfbc72 100644 --- a/test/functional/apps/discover/group2/_adhoc_data_views.ts +++ b/test/functional/apps/discover/group2/_adhoc_data_views.ts @@ -170,7 +170,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.header.waitUntilLoadingHasFinished(); // open searches on dashboard - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await filterBar.ensureFieldEditorModalIsClosed(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); diff --git a/test/functional/apps/discover/group2/_chart_hidden.ts b/test/functional/apps/discover/group2/_chart_hidden.ts index 40f50a73ac4df..6bee290df896d 100644 --- a/test/functional/apps/discover/group2/_chart_hidden.ts +++ b/test/functional/apps/discover/group2/_chart_hidden.ts @@ -14,7 +14,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); const security = getService('security'); - const PageObjects = getPageObjects(['common', 'discover', 'header', 'timePicker']); + const PageObjects = getPageObjects(['common', 'discover', 'header', 'timePicker', 'dashboard']); const defaultSettings = { defaultIndex: 'logstash-*', @@ -46,7 +46,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.discover.toggleChartVisibility(); expect(await PageObjects.discover.isChartVisible()).to.be(false); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.common.navigateToApp('discover'); await PageObjects.timePicker.setDefaultAbsoluteRange(); await PageObjects.header.waitUntilLoadingHasFinished(); diff --git a/test/functional/apps/discover/group2/_data_grid_context.ts b/test/functional/apps/discover/group2/_data_grid_context.ts index 4d90acab5eebb..ae5030f226b82 100644 --- a/test/functional/apps/discover/group2/_data_grid_context.ts +++ b/test/functional/apps/discover/group2/_data_grid_context.ts @@ -102,7 +102,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.discover.saveSearch('my search'); await PageObjects.header.waitUntilLoadingHasFinished(); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); diff --git a/test/functional/apps/discover/group2/_data_grid_doc_table.ts b/test/functional/apps/discover/group2/_data_grid_doc_table.ts index 5a60d6cf1f98c..5aedb67b6d5e7 100644 --- a/test/functional/apps/discover/group2/_data_grid_doc_table.ts +++ b/test/functional/apps/discover/group2/_data_grid_doc_table.ts @@ -120,7 +120,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await PageObjects.discover.waitUntilSearchingHasFinished(); await PageObjects.discover.saveSearch('expand-cell-search'); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.header.waitUntilLoadingHasFinished(); diff --git a/test/functional/apps/kibana_overview/_analytics.ts b/test/functional/apps/kibana_overview/_analytics.ts index 7b9d352e60e31..1c4897d5830ac 100644 --- a/test/functional/apps/kibana_overview/_analytics.ts +++ b/test/functional/apps/kibana_overview/_analytics.ts @@ -33,7 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { ); }); - const apps = ['dashboard', 'discover', 'canvas', 'maps', 'ml']; + const apps = ['dashboards', 'discover', 'canvas', 'maps', 'ml']; it('should display Analytics apps cards', async () => { const kbnOverviewAppsCards = await find.allByCssSelector('.kbnOverviewApps__item'); diff --git a/test/functional/apps/management/_kibana_settings.ts b/test/functional/apps/management/_kibana_settings.ts index d459643849fbc..875635cbd6a09 100644 --- a/test/functional/apps/management/_kibana_settings.ts +++ b/test/functional/apps/management/_kibana_settings.ts @@ -52,7 +52,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('when false, dashboard state is unhashed', async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.timePicker.setDefaultAbsoluteRange(); const globalState = await getStateFromUrl(); @@ -73,7 +73,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('when true, dashboard state is hashed', async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.timePicker.setDefaultAbsoluteRange(); const globalState = await getStateFromUrl(); diff --git a/test/functional/apps/visualize/group1/_data_table_notimeindex_filters.ts b/test/functional/apps/visualize/group1/_data_table_notimeindex_filters.ts index d62bdd86ecf9b..50f855056c6cd 100644 --- a/test/functional/apps/visualize/group1/_data_table_notimeindex_filters.ts +++ b/test/functional/apps/visualize/group1/_data_table_notimeindex_filters.ts @@ -64,7 +64,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // test to cover bug #54548 - add this visualization to a dashboard and filter it('should add to dashboard and allow filtering', async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.addVisualization(vizName1); diff --git a/test/functional/apps/visualize/group3/_add_to_dashboard.ts b/test/functional/apps/visualize/group3/_add_to_dashboard.ts index 896826c2caa07..ad14c89b1e830 100644 --- a/test/functional/apps/visualize/group3/_add_to_dashboard.ts +++ b/test/functional/apps/visualize/group3/_add_to_dashboard.ts @@ -158,7 +158,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('adding a new metric to an existing dashboard by value', async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.addVisualizations(['Visualization AreaChart']); @@ -188,7 +188,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('adding a new metric to an existing dashboard by reference', async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.addVisualizations(['Visualization AreaChart']); @@ -220,7 +220,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('adding a existing metric to an existing dashboard by value', async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.addVisualizations(['Visualization AreaChart']); @@ -265,7 +265,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('adding a existing metric to an existing dashboard by reference', async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.addVisualizations(['Visualization AreaChart']); diff --git a/test/functional/apps/visualize/group5/_tsvb_time_series.ts b/test/functional/apps/visualize/group5/_tsvb_time_series.ts index eec30c52018a7..dbddadbe4a746 100644 --- a/test/functional/apps/visualize/group5/_tsvb_time_series.ts +++ b/test/functional/apps/visualize/group5/_tsvb_time_series.ts @@ -195,7 +195,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const cleanup = async () => { const discardDashboardPromptButton = 'discardDashboardPromptButton'; - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); if (await testSubjects.exists(discardDashboardPromptButton)) { await dashboard.clickUnsavedChangesDiscard(discardDashboardPromptButton, true); } diff --git a/test/functional/page_objects/dashboard_page.ts b/test/functional/page_objects/dashboard_page.ts index 36da398b59d1f..6ff48c6b0cfbe 100644 --- a/test/functional/page_objects/dashboard_page.ts +++ b/test/functional/page_objects/dashboard_page.ts @@ -51,12 +51,18 @@ export class DashboardPageObject extends FtrService { ? 'test/functional/fixtures/kbn_archiver/ccs/dashboard/legacy/legacy.json' : 'test/functional/fixtures/kbn_archiver/dashboard/legacy/legacy.json'; + public readonly APP_ID = 'dashboards'; + async initTests({ kibanaIndex = this.kibanaIndex, defaultIndex = this.logstashIndex } = {}) { this.log.debug('load kibana index with visualizations and log data'); await this.kibanaServer.savedObjects.cleanStandardList(); await this.kibanaServer.importExport.load(kibanaIndex); await this.kibanaServer.uiSettings.replace({ defaultIndex }); - await this.common.navigateToApp('dashboard'); + await this.navigateToApp(); + } + + public async navigateToApp() { + await this.common.navigateToApp(this.APP_ID); } public async expectAppStateRemovedFromURL() { diff --git a/test/functional/page_objects/time_to_visualize_page.ts b/test/functional/page_objects/time_to_visualize_page.ts index 91864a7995779..280a02354424c 100644 --- a/test/functional/page_objects/time_to_visualize_page.ts +++ b/test/functional/page_objects/time_to_visualize_page.ts @@ -42,7 +42,7 @@ export class TimeToVisualizePageObject extends FtrService { } public async resetNewDashboard() { - await this.common.navigateToApp('dashboard'); + await this.dashboard.navigateToApp(); await this.dashboard.gotoDashboardLandingPage(); await this.dashboard.clickNewDashboard(false); } diff --git a/x-pack/test/functional/apps/dashboard/group1/feature_controls/dashboard_security.ts b/x-pack/test/functional/apps/dashboard/group1/feature_controls/dashboard_security.ts index 7cc75446036e9..5deaac7e3a579 100644 --- a/x-pack/test/functional/apps/dashboard/group1/feature_controls/dashboard_security.ts +++ b/x-pack/test/functional/apps/dashboard/group1/feature_controls/dashboard_security.ts @@ -183,13 +183,13 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); it(`allows a visualization to be edited`, async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardEditMode('A Dashboard'); await panelActions.expectExistsEditPanelAction(); }); it(`allows a map to be edited`, async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardEditMode('dashboard with map'); await panelActions.expectExistsEditPanelAction(); }); diff --git a/x-pack/test/functional/apps/dashboard/group1/feature_controls/time_to_visualize_security.ts b/x-pack/test/functional/apps/dashboard/group1/feature_controls/time_to_visualize_security.ts index 1ed0e1535a828..7b36b19c32da8 100644 --- a/x-pack/test/functional/apps/dashboard/group1/feature_controls/time_to_visualize_security.ts +++ b/x-pack/test/functional/apps/dashboard/group1/feature_controls/time_to_visualize_security.ts @@ -88,7 +88,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { describe('lens by value works without library save permissions', () => { before(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); }); @@ -169,13 +169,13 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { const modifiedMarkdownText = 'Modified markdown text'; before(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); }); it('can add a markdown panel by value', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.waitForRenderComplete(); diff --git a/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts b/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts index 608d29a6b7abb..baab3bbeb52f7 100644 --- a/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts +++ b/x-pack/test/functional/apps/dashboard/group1/preserve_url.ts @@ -35,7 +35,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('goes back to last opened url', async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('A Dashboard'); await PageObjects.common.navigateToApp('home'); await appsMenu.clickLink('Dashboard', { category: 'kibana' }); @@ -47,7 +47,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('remembers url after switching spaces', async function () { // default space - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('A Dashboard'); await PageObjects.spaceSelector.openSpacesNav(); diff --git a/x-pack/test/functional/apps/dashboard/group2/_async_dashboard.ts b/x-pack/test/functional/apps/dashboard/group2/_async_dashboard.ts index bf76152a459c4..66b31842df00a 100644 --- a/x-pack/test/functional/apps/dashboard/group2/_async_dashboard.ts +++ b/x-pack/test/functional/apps/dashboard/group2/_async_dashboard.ts @@ -128,7 +128,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should launch sample flights data set dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('[Flights] Global Flight Dashboard'); await PageObjects.header.waitUntilLoadingHasFinished(); await PageObjects.timePicker.setCommonlyUsedTime('sample_data range'); diff --git a/x-pack/test/functional/apps/dashboard/group2/dashboard_lens_by_value.ts b/x-pack/test/functional/apps/dashboard/group2/dashboard_lens_by_value.ts index 2604b942f7313..423c9819a048f 100644 --- a/x-pack/test/functional/apps/dashboard/group2/dashboard_lens_by_value.ts +++ b/x-pack/test/functional/apps/dashboard/group2/dashboard_lens_by_value.ts @@ -22,7 +22,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { await kibanaServer.importExport.load( 'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json' ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); }); diff --git a/x-pack/test/functional/apps/dashboard/group2/dashboard_maps_by_value.ts b/x-pack/test/functional/apps/dashboard/group2/dashboard_maps_by_value.ts index 5503d1a08dc4e..1d898940a0bf3 100644 --- a/x-pack/test/functional/apps/dashboard/group2/dashboard_maps_by_value.ts +++ b/x-pack/test/functional/apps/dashboard/group2/dashboard_maps_by_value.ts @@ -73,7 +73,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { } async function createNewDashboard() { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); } diff --git a/x-pack/test/functional/apps/dashboard/group2/dashboard_search_by_value.ts b/x-pack/test/functional/apps/dashboard/group2/dashboard_search_by_value.ts index beb87afce4549..92cc910313615 100644 --- a/x-pack/test/functional/apps/dashboard/group2/dashboard_search_by_value.ts +++ b/x-pack/test/functional/apps/dashboard/group2/dashboard_search_by_value.ts @@ -41,7 +41,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); beforeEach(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await filterBar.ensureFieldEditorModalIsClosed(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); diff --git a/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/controls_migration_smoke_test.ts b/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/controls_migration_smoke_test.ts index d36d2b579ae62..f2c8d67d16b7e 100644 --- a/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/controls_migration_smoke_test.ts +++ b/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/controls_migration_smoke_test.ts @@ -23,8 +23,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const queryBar = getService('queryBar'); - const { common, settings, savedObjects, dashboard, dashboardControls } = getPageObjects([ - 'common', + const { settings, savedObjects, dashboard, dashboardControls } = getPageObjects([ 'settings', 'dashboard', 'savedObjects', @@ -57,7 +56,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('should render all panels on the dashboard', async () => { await dashboardControls.enableControlsLab(); - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.loadSavedDashboard('[8.0.0] Controls Dashboard'); // dashboard should load properly diff --git a/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/lens_migration_smoke_test.ts b/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/lens_migration_smoke_test.ts index 024c045c4ff87..0dc6f36662952 100644 --- a/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/lens_migration_smoke_test.ts +++ b/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/lens_migration_smoke_test.ts @@ -46,7 +46,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should render all panels on the dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('[7.12.1] Lens By Value Test Dashboard'); // dashboard should load properly diff --git a/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/tsvb_migration_smoke_test.ts b/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/tsvb_migration_smoke_test.ts index 8485f85dd35a0..c6d947337da21 100644 --- a/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/tsvb_migration_smoke_test.ts +++ b/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/tsvb_migration_smoke_test.ts @@ -36,7 +36,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should render all panels on the dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('TSVB Index Pattern Smoke Test'); // dashboard should load properly @@ -101,7 +101,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should render all panels on the dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('TSVB 7.13.3'); // dashboard should load properly diff --git a/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/visualize_migration_smoke_test.ts b/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/visualize_migration_smoke_test.ts index 4824fcb421828..6f8a387d276a0 100644 --- a/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/visualize_migration_smoke_test.ts +++ b/x-pack/test/functional/apps/dashboard/group2/migration_smoke_tests/visualize_migration_smoke_test.ts @@ -46,7 +46,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should render all panels on the dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('[7.12.1] Visualize Test Dashboard'); // dashboard should load properly diff --git a/x-pack/test/functional/apps/dashboard/group2/panel_time_range.ts b/x-pack/test/functional/apps/dashboard/group2/panel_time_range.ts index 2295c90d60c65..bbf5877f80327 100644 --- a/x-pack/test/functional/apps/dashboard/group2/panel_time_range.ts +++ b/x-pack/test/functional/apps/dashboard/group2/panel_time_range.ts @@ -34,7 +34,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.importExport.load( 'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json' ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.saveDashboard(DASHBOARD_NAME); diff --git a/x-pack/test/functional/apps/dashboard/group2/panel_titles.ts b/x-pack/test/functional/apps/dashboard/group2/panel_titles.ts index 14970ba7764ab..2c0ac33107fea 100644 --- a/x-pack/test/functional/apps/dashboard/group2/panel_titles.ts +++ b/x-pack/test/functional/apps/dashboard/group2/panel_titles.ts @@ -36,7 +36,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await kibanaServer.importExport.load( 'x-pack/test/functional/fixtures/kbn_archiver/lens/lens_basic.json' ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.saveDashboard(DASHBOARD_NAME); diff --git a/x-pack/test/functional/apps/dashboard/group2/sync_colors.ts b/x-pack/test/functional/apps/dashboard/group2/sync_colors.ts index 2692c40af0adf..5d1f590490c4d 100644 --- a/x-pack/test/functional/apps/dashboard/group2/sync_colors.ts +++ b/x-pack/test/functional/apps/dashboard/group2/sync_colors.ts @@ -52,7 +52,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should sync colors on dashboard by default', async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await elasticChart.setNewChartUiDebugFlag(true); await PageObjects.dashboard.clickCreateDashboardPrompt(); await dashboardAddPanel.clickCreateNewLink(); diff --git a/x-pack/test/functional/apps/dashboard/group3/drilldowns/dashboard_to_dashboard_drilldown.ts b/x-pack/test/functional/apps/dashboard/group3/drilldowns/dashboard_to_dashboard_drilldown.ts index e7afd4f9761da..deb5195040800 100644 --- a/x-pack/test/functional/apps/dashboard/group3/drilldowns/dashboard_to_dashboard_drilldown.ts +++ b/x-pack/test/functional/apps/dashboard/group3/drilldowns/dashboard_to_dashboard_drilldown.ts @@ -129,7 +129,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { before(async () => { log.debug('Dashboard Drilldowns:initTests'); await security.testUser.setRoles(['test_logstash_reader', 'global_dashboard_all']); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await elasticChart.setNewChartUiDebugFlag(); @@ -399,7 +399,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // Actually use copied dashboards in a new space: - await PageObjects.common.navigateToApp('dashboard', { + await PageObjects.common.navigateToApp('dashboards', { basePath: `/s/${destinationSpaceId}`, }); await PageObjects.dashboard.preserveCrossAppState(); diff --git a/x-pack/test/functional/apps/dashboard/group3/drilldowns/dashboard_to_url_drilldown.ts b/x-pack/test/functional/apps/dashboard/group3/drilldowns/dashboard_to_url_drilldown.ts index ca057b7421b7c..24e9a249377fa 100644 --- a/x-pack/test/functional/apps/dashboard/group3/drilldowns/dashboard_to_url_drilldown.ts +++ b/x-pack/test/functional/apps/dashboard/group3/drilldowns/dashboard_to_url_drilldown.ts @@ -22,7 +22,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('Dashboard to URL drilldown', function () { before(async () => { log.debug('Dashboard to URL:initTests'); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); }); diff --git a/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_chart_action.ts b/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_chart_action.ts index 6e91362e4adfd..dff41ef2ead73 100644 --- a/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_chart_action.ts +++ b/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_chart_action.ts @@ -28,7 +28,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('Explore underlying data - chart action', () => { describe('value click action', () => { it('action exists in chart click popup menu', async () => { - await common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await dashboard.preserveCrossAppState(); await dashboard.loadSavedDashboard(drilldowns.DASHBOARD_WITH_PIE_CHART_NAME); await pieChart.clickOnPieSlice('160,000'); @@ -60,7 +60,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { let originalTimeRangeDurationHours: number | undefined; it('action exists in chart brush popup menu', async () => { - await common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await dashboard.preserveCrossAppState(); await dashboard.loadSavedDashboard(drilldowns.DASHBOARD_WITH_AREA_CHART_NAME); diff --git a/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_panel_action.ts b/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_panel_action.ts index 8e943c2b3104d..ed504f3711565 100644 --- a/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_panel_action.ts +++ b/x-pack/test/functional/apps/dashboard/group3/drilldowns/explore_data_panel_action.ts @@ -13,7 +13,7 @@ const ACTION_TEST_SUBJ = `embeddablePanelAction-${ACTION_ID}`; export default function ({ getService, getPageObjects }: FtrProviderContext) { const drilldowns = getService('dashboardDrilldownsManage'); - const { dashboard, discover, common, timePicker } = getPageObjects([ + const { dashboard, discover, timePicker } = getPageObjects([ 'dashboard', 'discover', 'common', @@ -33,7 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { ); before('start on Dashboard landing page', async () => { - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.preserveCrossAppState(); }); @@ -42,7 +42,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); after('clean-up custom time range on panel', async () => { - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.gotoDashboardEditMode(drilldowns.DASHBOARD_WITH_PIE_CHART_NAME); await panelActions.customizePanel(); @@ -75,7 +75,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('carries over panel time range', async () => { - await common.navigateToApp('dashboard'); + await dashboard.navigateToApp(); await dashboard.gotoDashboardEditMode(drilldowns.DASHBOARD_WITH_PIE_CHART_NAME); diff --git a/x-pack/test/functional/apps/dashboard/group3/reporting/download_csv.ts b/x-pack/test/functional/apps/dashboard/group3/reporting/download_csv.ts index c8808e179d70d..c23f991f69f07 100644 --- a/x-pack/test/functional/apps/dashboard/group3/reporting/download_csv.ts +++ b/x-pack/test/functional/apps/dashboard/group3/reporting/download_csv.ts @@ -33,7 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const navigateToDashboardApp = async () => { log.debug('in navigateToDashboardApp'); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await retry.tryForTime(10000, async () => { expect(await PageObjects.dashboard.onDashboardLandingPage()).to.be(true); }); diff --git a/x-pack/test/functional/apps/dashboard/group3/reporting/screenshots.ts b/x-pack/test/functional/apps/dashboard/group3/reporting/screenshots.ts index 4450224d0456c..490ba84c8496c 100644 --- a/x-pack/test/functional/apps/dashboard/group3/reporting/screenshots.ts +++ b/x-pack/test/functional/apps/dashboard/group3/reporting/screenshots.ts @@ -84,7 +84,7 @@ export default function ({ describe('Print PDF button', () => { it('is available if new', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.reporting.openPdfReportingPanel(); expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be(null); @@ -110,7 +110,7 @@ export default function ({ // Generating and then comparing reports can take longer than the default 60s timeout because the comparePngs // function is taking about 15 seconds per comparison in jenkins. this.timeout(300000); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('Ecom Dashboard'); await PageObjects.reporting.openPdfReportingPanel(); await PageObjects.reporting.checkUsePrintLayout(); @@ -133,7 +133,7 @@ export default function ({ }); it('is available if new', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.reporting.openPngReportingPanel(); expect(await PageObjects.reporting.isGenerateReportButtonDisabled()).to.be(null); @@ -158,7 +158,7 @@ export default function ({ it('downloads a PDF file with saved search given EuiDataGrid enabled', async function () { await kibanaServer.uiSettings.update({ 'doc_table:legacy': false }); this.timeout(300000); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('Ecom Dashboard'); await PageObjects.reporting.openPdfReportingPanel(); await PageObjects.reporting.clickGenerateReportButton(); @@ -187,7 +187,7 @@ export default function ({ 'x-pack/test/functional/fixtures/kbn_archiver/reporting/ecommerce_76.json' ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('[K7.6-eCommerce] Revenue Dashboard'); await PageObjects.reporting.openPngReportingPanel(); diff --git a/x-pack/test/functional/apps/discover/async_scripted_fields.js b/x-pack/test/functional/apps/discover/async_scripted_fields.js index d86298405b72d..f5143e5fcc084 100644 --- a/x-pack/test/functional/apps/discover/async_scripted_fields.js +++ b/x-pack/test/functional/apps/discover/async_scripted_fields.js @@ -97,7 +97,7 @@ export default function ({ getService, getPageObjects }) { await PageObjects.discover.saveSearch('search with warning'); await PageObjects.header.waitUntilLoadingHasFinished(); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); diff --git a/x-pack/test/functional/apps/discover/saved_searches.ts b/x-pack/test/functional/apps/discover/saved_searches.ts index 8b6f830a11406..85a4d91eabc3c 100644 --- a/x-pack/test/functional/apps/discover/saved_searches.ts +++ b/x-pack/test/functional/apps/discover/saved_searches.ts @@ -48,7 +48,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // FLAKY: https://github.com/elastic/kibana/issues/104578 describe.skip('Customize time range', () => { it('should be possible to customize time range for saved searches on dashboards', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickOpenAddPanel(); await dashboardAddPanel.addSavedSearch('Ecommerce Data'); diff --git a/x-pack/test/functional/apps/lens/group3/add_to_dashboard.ts b/x-pack/test/functional/apps/lens/group3/add_to_dashboard.ts index 9213c8459ebe3..91ec034295e2e 100644 --- a/x-pack/test/functional/apps/lens/group3/add_to_dashboard.ts +++ b/x-pack/test/functional/apps/lens/group3/add_to_dashboard.ts @@ -41,7 +41,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }; const createAndSaveDashboard = async (dashboardName: string) => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickOpenAddPanel(); await dashboardAddPanel.filterEmbeddableNames('lnsXYvis'); diff --git a/x-pack/test/functional/apps/lens/group4/dashboard.ts b/x-pack/test/functional/apps/lens/group4/dashboard.ts index e94f935323235..50e8c427567d2 100644 --- a/x-pack/test/functional/apps/lens/group4/dashboard.ts +++ b/x-pack/test/functional/apps/lens/group4/dashboard.ts @@ -42,7 +42,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { describe('lens dashboard tests', () => { before(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await security.testUser.setRoles( [ 'global_dashboard_all', @@ -68,7 +68,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should be able to add filters/timerange by clicking in XYChart', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickOpenAddPanel(); await dashboardAddPanel.filterEmbeddableNames('lnsXYvis'); @@ -97,7 +97,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should be able to add filters by right clicking in XYChart', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickOpenAddPanel(); await dashboardAddPanel.filterEmbeddableNames('lnsXYvis'); @@ -121,7 +121,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { // Requires xpack.discoverEnhanced.actions.exploreDataInContextMenu.enabled // setting set in kibana.yml to test (not enabled by default) it('should hide old "explore underlying data" action', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickOpenAddPanel(); await dashboardAddPanel.filterEmbeddableNames('lnsXYvis'); @@ -135,7 +135,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should be able to add filters by clicking in pie chart', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickOpenAddPanel(); await dashboardAddPanel.filterEmbeddableNames('lnsPieVis'); @@ -156,7 +156,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should not carry over filters if creating a new lens visualization from within dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.timePicker.setDefaultAbsoluteRange(); await filterBar.addFilter({ field: 'geo.src', operation: 'is', value: 'US' }); @@ -174,7 +174,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it('CSV export action exists in panel context menu', async () => { const ACTION_ID = 'ACTION_EXPORT_CSV'; const ACTION_TEST_SUBJ = `embeddablePanelAction-${ACTION_ID}`; - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickOpenAddPanel(); await dashboardAddPanel.filterEmbeddableNames('lnsPieVis'); @@ -190,7 +190,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should show all data from all layers in the inspector', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickCreateNewLink(); await PageObjects.header.waitUntilLoadingHasFinished(); @@ -234,7 +234,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('unlink lens panel from embeddable library', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickOpenAddPanel(); await dashboardAddPanel.filterEmbeddableNames('lnsPieVis'); @@ -270,7 +270,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should show validation messages if any error appears', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickCreateNewLink(); @@ -300,7 +300,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should recover lens panel in an error state when fixing search query', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickOpenAddPanel(); await dashboardAddPanel.filterEmbeddableNames('lnsXYvis'); diff --git a/x-pack/test/functional/apps/lens/group6/error_handling.ts b/x-pack/test/functional/apps/lens/group6/error_handling.ts index 50e1ab439308d..f268e829ca5fb 100644 --- a/x-pack/test/functional/apps/lens/group6/error_handling.ts +++ b/x-pack/test/functional/apps/lens/group6/error_handling.ts @@ -87,7 +87,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'x-pack/test/functional/fixtures/kbn_archiver/lens/missing_fields' ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard( 'dashboard containing vis with missing fields' ); @@ -135,7 +135,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'x-pack/test/functional/fixtures/kbn_archiver/lens/fundamental_config_errors_on_dashboard' ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('lens fundamental config errors dash'); const failureElements = await testSubjects.findAll('errorMessageMarkdown'); diff --git a/x-pack/test/functional/apps/lens/group6/lens_reporting.ts b/x-pack/test/functional/apps/lens/group6/lens_reporting.ts index dc241c7f3ac49..3141d2d7651fc 100644 --- a/x-pack/test/functional/apps/lens/group6/lens_reporting.ts +++ b/x-pack/test/functional/apps/lens/group6/lens_reporting.ts @@ -53,7 +53,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it('should not cause PDF reports to fail', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await listingTable.clickItemLink('dashboard', 'Lens reportz'); await PageObjects.reporting.openPdfReportingPanel(); await PageObjects.reporting.clickGenerateReportButton(); diff --git a/x-pack/test/functional/apps/lens/group6/lens_tagging.ts b/x-pack/test/functional/apps/lens/group6/lens_tagging.ts index 42bb90e84a903..c3b279f591cdb 100644 --- a/x-pack/test/functional/apps/lens/group6/lens_tagging.ts +++ b/x-pack/test/functional/apps/lens/group6/lens_tagging.ts @@ -33,7 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { before(async () => { await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); await PageObjects.timePicker.setDefaultAbsoluteRangeViaUiSettings(); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.clickNewDashboard(); }); diff --git a/x-pack/test/functional/apps/maps/group2/embeddable/add_to_dashboard.js b/x-pack/test/functional/apps/maps/group2/embeddable/add_to_dashboard.js index 1b4c1914a156b..fcd3d06115508 100644 --- a/x-pack/test/functional/apps/maps/group2/embeddable/add_to_dashboard.js +++ b/x-pack/test/functional/apps/maps/group2/embeddable/add_to_dashboard.js @@ -83,7 +83,7 @@ export default function ({ getPageObjects, getService }) { }); it('should allow new map be added by value to an existing dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.saveDashboard('My Very Cool Dashboard'); @@ -113,7 +113,7 @@ export default function ({ getPageObjects, getService }) { }); it('should allow existing maps be added by value to an existing dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.saveDashboard('My Wonderful Dashboard'); @@ -185,7 +185,7 @@ export default function ({ getPageObjects, getService }) { }); it('should allow new map be added by reference to an existing dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.saveDashboard('My Super Cool Dashboard'); @@ -215,7 +215,7 @@ export default function ({ getPageObjects, getService }) { }); it('should allow existing maps be added by reference to an existing dashboard', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await PageObjects.dashboard.saveDashboard('My Amazing Dashboard'); diff --git a/x-pack/test/functional/apps/maps/group2/embeddable/dashboard.js b/x-pack/test/functional/apps/maps/group2/embeddable/dashboard.js index 69c12ed786d23..2750bf3a7f68d 100644 --- a/x-pack/test/functional/apps/maps/group2/embeddable/dashboard.js +++ b/x-pack/test/functional/apps/maps/group2/embeddable/dashboard.js @@ -35,7 +35,7 @@ export default function ({ getPageObjects, getService }) { defaultIndex: 'c698b940-e149-11e8-a35a-370a8516603a', [UI_SETTINGS.COURIER_IGNORE_FILTER_IF_FIELD_NOT_IN_INDEX]: true, }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('map embeddable example'); await PageObjects.dashboard.waitForRenderComplete(); }); @@ -164,7 +164,7 @@ export default function ({ getPageObjects, getService }) { // see https://github.com/elastic/kibana/issues/61596 on why it is specific to maps it("dashboard's back button should navigate to previous page", async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('map embeddable example'); await PageObjects.dashboard.waitForRenderComplete(); diff --git a/x-pack/test/functional/apps/maps/group2/embeddable/embeddable_library.js b/x-pack/test/functional/apps/maps/group2/embeddable/embeddable_library.js index aa54a54196f95..45b1754722153 100644 --- a/x-pack/test/functional/apps/maps/group2/embeddable/embeddable_library.js +++ b/x-pack/test/functional/apps/maps/group2/embeddable/embeddable_library.js @@ -31,7 +31,7 @@ export default function ({ getPageObjects, getService }) { await kibanaServer.uiSettings.replace({ defaultIndex: 'c698b940-e149-11e8-a35a-370a8516603a', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickEditorMenuButton(); await PageObjects.visualize.clickMapsApp(); diff --git a/x-pack/test/functional/apps/maps/group2/embeddable/embeddable_state.js b/x-pack/test/functional/apps/maps/group2/embeddable/embeddable_state.js index ba0ac1153aa53..036edc77df796 100644 --- a/x-pack/test/functional/apps/maps/group2/embeddable/embeddable_state.js +++ b/x-pack/test/functional/apps/maps/group2/embeddable/embeddable_state.js @@ -21,7 +21,7 @@ export default function ({ getPageObjects, getService }) { await kibanaServer.uiSettings.replace({ defaultIndex: 'c698b940-e149-11e8-a35a-370a8516603a', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.addEmbeddable('document example', 'map'); diff --git a/x-pack/test/functional/apps/maps/group2/embeddable/filter_by_map_extent.js b/x-pack/test/functional/apps/maps/group2/embeddable/filter_by_map_extent.js index b08c284506e18..4da0d2af33894 100644 --- a/x-pack/test/functional/apps/maps/group2/embeddable/filter_by_map_extent.js +++ b/x-pack/test/functional/apps/maps/group2/embeddable/filter_by_map_extent.js @@ -19,7 +19,7 @@ export default function ({ getPageObjects, getService }) { ['test_logstash_reader', 'global_maps_all', 'global_dashboard_all'], { skipBrowserRefresh: true } ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardEditMode('filter by map extent dashboard'); await PageObjects.header.waitUntilLoadingHasFinished(); await PageObjects.dashboard.waitForRenderComplete(); diff --git a/x-pack/test/functional/apps/maps/group2/embeddable/save_and_return.js b/x-pack/test/functional/apps/maps/group2/embeddable/save_and_return.js index faa65d6ab183a..14ff01e4da46f 100644 --- a/x-pack/test/functional/apps/maps/group2/embeddable/save_and_return.js +++ b/x-pack/test/functional/apps/maps/group2/embeddable/save_and_return.js @@ -41,7 +41,7 @@ export default function ({ getPageObjects, getService }) { describe('new map', () => { beforeEach(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.clickEditorMenuButton(); await dashboardAddPanel.clickVisType('maps'); @@ -73,7 +73,7 @@ export default function ({ getPageObjects, getService }) { describe('edit existing map', () => { beforeEach(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('map embeddable example'); await PageObjects.dashboard.switchToEditMode(); await dashboardPanelActions.editPanelByTitle('join example'); diff --git a/x-pack/test/functional/apps/maps/group2/embeddable/tooltip_filter_actions.js b/x-pack/test/functional/apps/maps/group2/embeddable/tooltip_filter_actions.js index c3c014447a36d..e7265f4d7883d 100644 --- a/x-pack/test/functional/apps/maps/group2/embeddable/tooltip_filter_actions.js +++ b/x-pack/test/functional/apps/maps/group2/embeddable/tooltip_filter_actions.js @@ -30,7 +30,7 @@ export default function ({ getPageObjects, getService }) { defaultIndex: 'c698b940-e149-11e8-a35a-370a8516603a', }); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.preserveCrossAppState(); await PageObjects.dashboard.loadSavedDashboard('dash for tooltip filter action test'); diff --git a/x-pack/test/functional/apps/maps/group3/reports/index.ts b/x-pack/test/functional/apps/maps/group3/reports/index.ts index cb4f64b348ba5..0249658b70055 100644 --- a/x-pack/test/functional/apps/maps/group3/reports/index.ts +++ b/x-pack/test/functional/apps/maps/group3/reports/index.ts @@ -61,7 +61,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { it('PNG file matches the baseline image, using sample geo data', async function () { await reporting.initEcommerce(); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('Ecommerce Map'); await PageObjects.reporting.openPngReportingPanel(); await PageObjects.reporting.clickGenerateReportButton(); @@ -73,7 +73,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { }); it('PNG file matches the baseline image, using embeddable example', async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('map embeddable example'); await PageObjects.reporting.openPngReportingPanel(); await PageObjects.reporting.clickGenerateReportButton(); diff --git a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/anomaly_charts_dashboard_embeddables.ts b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/anomaly_charts_dashboard_embeddables.ts index f2273b168489b..9927f37a6c8f9 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/anomaly_charts_dashboard_embeddables.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/anomaly_charts_dashboard_embeddables.ts @@ -59,7 +59,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { testData.jobConfig, testData.datafeedConfig ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); after(async () => { diff --git a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/anomaly_embeddables_migration.ts b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/anomaly_embeddables_migration.ts index 7058286f3d5b3..2760c3c136557 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/anomaly_embeddables_migration.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/anomaly_embeddables_migration.ts @@ -80,7 +80,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { testDataList.map((d) => d.dashboardSavedObject) ); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); after(async () => { @@ -92,7 +92,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const { dashboardSavedObject, panelTitle, type } = testData; describe(`for ${panelTitle}`, function () { before(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); after(async () => { diff --git a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/lens_to_ml.ts b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/lens_to_ml.ts index 90884b1644774..eef7461bec609 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/lens_to_ml.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/lens_to_ml.ts @@ -55,7 +55,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); beforeEach(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); afterEach(async () => { diff --git a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/lens_to_ml_with_wizard.ts b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/lens_to_ml_with_wizard.ts index b8e39eaa3ba2c..089141ba663e7 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/lens_to_ml_with_wizard.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/lens_to_ml_with_wizard.ts @@ -107,7 +107,7 @@ export default function ({ getService, getPageObject, getPageObjects }: FtrProvi }); beforeEach(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); let tabsCount = 1; diff --git a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/map_to_ml.ts b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/map_to_ml.ts index 63cac23c5ed1d..3ce45876f77b1 100644 --- a/x-pack/test/functional/apps/ml/anomaly_detection_integrations/map_to_ml.ts +++ b/x-pack/test/functional/apps/ml/anomaly_detection_integrations/map_to_ml.ts @@ -47,7 +47,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); beforeEach(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); }); afterEach(async () => { diff --git a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_grid_in_dashboard.ts b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_grid_in_dashboard.ts index d4814a6f0ec11..47c6e7725686d 100644 --- a/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_grid_in_dashboard.ts +++ b/x-pack/test/functional/apps/ml/data_visualizer/index_data_visualizer_grid_in_dashboard.ts @@ -58,7 +58,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); it(`displays Field statistics table in Dashboard when enabled`, async function () { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardLandingPage(); await PageObjects.dashboard.clickNewDashboard(); await dashboardAddPanel.addSavedSearch(savedSearchTitle); @@ -96,7 +96,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { it(`doesn't display Field statistics table in Dashboard when disabled`, async function () { await ml.testResources.setAdvancedSettingProperty(SHOW_FIELD_STATISTICS, false); - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.gotoDashboardEditMode(dashboardTitle); await PageObjects.header.waitUntilLoadingHasFinished(); 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 7761af2684cbb..b6f1e94e83af3 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 @@ -59,7 +59,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(newObjectCount - initialObjectCount).to.eql(82); // logstash by reference dashboard with drilldowns - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('by_reference_drilldown'); // dashboard should load properly await PageObjects.dashboard.expectOnDashboard('by_reference_drilldown'); diff --git a/x-pack/test/functional/apps/spaces/spaces_selection.ts b/x-pack/test/functional/apps/spaces/spaces_selection.ts index 56f6e7b987873..113282e5a80d6 100644 --- a/x-pack/test/functional/apps/spaces/spaces_selection.ts +++ b/x-pack/test/functional/apps/spaces/spaces_selection.ts @@ -171,7 +171,7 @@ export default function spaceSelectorFunctionalTests({ describe('displays separate data for each space', () => { it('in the default space', async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await expectDashboardRenders('[Logs] Web Traffic'); }); diff --git a/x-pack/test/functional/apps/visualize/telemetry.ts b/x-pack/test/functional/apps/visualize/telemetry.ts index 6bf1ae510a5f4..773a21d120c93 100644 --- a/x-pack/test/functional/apps/visualize/telemetry.ts +++ b/x-pack/test/functional/apps/visualize/telemetry.ts @@ -38,7 +38,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); await retry.try(async () => { - await PageObjects.common.navigateToApp('dashboard'); + await PageObjects.dashboard.navigateToApp(); await PageObjects.dashboard.loadSavedDashboard('visualizations'); await PageObjects.timePicker.setDefaultAbsoluteRange(); await PageObjects.dashboard.waitForRenderComplete(); From a6c25b15aa1897dc93337c54350aeb544cd921d6 Mon Sep 17 00:00:00 2001 From: Jan Monschke <jan.monschke@elastic.co> Date: Mon, 18 Sep 2023 18:27:16 +0200 Subject: [PATCH 091/149] [kbn] Subscription tracking (cont.) (#157392) ## Summary (this is the continuation of https://github.com/elastic/kibana/pull/143910, which I started before my parental leave and which is impossible to rebase) With the introduction of more features that are part of licenses, we're also adding more upsells to Kibana. These upsells advertise the feature, they explain which license is required in order to use said feature and they will link the client to the subscription page. Take the upsell for more insights in the alert flyout as an example: <img width="1584" alt="Screenshot 2022-10-18 at 16 39 52" src="https://user-images.githubusercontent.com/68591/197629708-17978c8b-595e-4797-b80a-59c799896509.png"> Upsells come in all different shapes. Somtimes they're just links, sometimes full pages and sometimes interactive popups. They are also used across all solutions in Kibana. There is currently no specific tracking in place for these types of elements yet. Meaning we don't know how many people interact with them, how many custerms see them and how well they perform in terms of conversions. It is technically already possible to analyze clicks on these elements as part of the regular Kibana click tracking but it would require setting up queries with lots of `data-test-subj` and `url` filters for the right click events. Even if we wanted to set up tracking dashboards with that data, we would still not know how often upsells are seen which is necessary to calculate their click-through-rate. That rate can give an indicator if an upsell performs well or if we might want to improve it in the future. For that reason, I'm proposing a dedicated set of tracking methods to capture `impressions` and `clicks` for upsells. No conversion tracking as of yet, but I will get back to that later. This PR introduces the `@kbn/subscription-tracking` package. It leverages the `@kbn/analytics-client` package to send dedicated subscription tracking events. It comes with a set of React components that automatically track impressions and click events. Consumers of those components only need to specify a `subscription context` that gives more details on the type of feature that is advertised and the location of the upsell. ```typescript import { SubscriptionLink } from '@kbn/subscription-tracking'; import type { SubscriptionContextData } from '@kbn/subscription-tracking'; const subscriptionContext: SubscriptionContextData = { feature: 'threat-intelligence', source: 'security__threat-intelligence', }; export const Paywall = () => { return ( <div> <SubscriptionLink subscriptionContext={subscriptionContext}> Upgrade to Platinum to get this feature </SubscriptionLink> </div> ) } ``` The example above uses a `SubscriptionLink` which is a wrapper of `EuiLink` . So it behaves just like a normal link. Alternatively, upsells can also use a `SubscriptionButton` or `SubscriptionButtonEmpty` which wrap `EuiButton` and `EuiButtonEmpty` respectively. When the link is mounted, it will send off an `impression` event with the given `subscriptionContext`. That piece of metadata consists of an identifier of the advertised feature (in this case `threat-intelligence`) and the `source` of the impression (in this case the `threat-intelligence` page in the `security` solution). `source` follows the following format: `{solution-identifier}__location-identifier`. There are no special rules for how to name these identifiers but it's good practise to make sure that `feature` has the same value for all upsells advertising the same feature (e.g. use enums for features to prevent spelling mistakes). Upon interaction with the upsell link/button, a special `click` event is sent, which, again, contains the same subscription context. If you want to use the `subscription-tracking` elements in your solution, you have to set up a `SubscriptionTrackingProvider` in your plugin setup and register the tracking events on startup. This PR contains an example for this setup for the security plugin and some of its sub-plugins. ## Next steps - There are currently no dedicated tracking dashboards for these events which I am planning to set up in the future. - Since I only had a week's worth of time, I did not manage to add conversion tracking. The addition of those events might be a lot harder as well since the current license flow does not integrate seamlessly into Kibana - All upsells currently link to the license management page which currently does not inform customers about our license and cloud offering. It seems to me like a weak link in the subscription funnel and it would be great to improve on that page. - potential improvement: Send `impression` event when the element becomes visible in the viewport instead of when the element is mounted ### Checklist - [x] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [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 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .github/CODEOWNERS | 1 + package.json | 1 + .../tsconfig.json | 13 +-- packages/kbn-subscription-tracking/README.md | 35 ++++++ packages/kbn-subscription-tracking/index.ts | 17 +++ .../kbn-subscription-tracking/jest.config.js | 13 +++ .../kbn-subscription-tracking/kibana.jsonc | 5 + packages/kbn-subscription-tracking/mocks.tsx | 28 +++++ .../kbn-subscription-tracking/package.json | 6 + .../src/helpers.test.ts | 45 ++++++++ .../kbn-subscription-tracking/src/helpers.ts | 14 +++ .../src/services.tsx | 70 ++++++++++++ .../src/subscription_elements.test.tsx | 108 ++++++++++++++++++ .../src/subscription_elements.tsx | 79 +++++++++++++ .../src/use_go_to_subscription.ts | 35 ++++++ .../src/use_impression.ts | 57 +++++++++ .../kbn-subscription-tracking/tsconfig.json | 10 ++ packages/kbn-subscription-tracking/types.ts | 47 ++++++++ tsconfig.base.json | 2 + .../components/subscription_not_allowed.tsx | 15 ++- .../cloud_security_posture/public/plugin.tsx | 16 ++- .../public/test/test_provider.tsx | 10 +- .../cloud_security_posture/tsconfig.json | 9 +- .../plugins/licensing/public/plugin.test.ts | 65 +++++++++++ x-pack/plugins/licensing/public/plugin.ts | 2 + x-pack/plugins/licensing/tsconfig.json | 14 +-- .../security_solution/public/app/index.tsx | 9 +- .../security_solution/public/app/types.ts | 2 + .../insights/related_alerts_upsell.tsx | 29 ++--- .../public/common/mock/test_providers.tsx | 83 +++++++------- .../security_solution/public/plugin.tsx | 6 + .../plugins/security_solution/tsconfig.json | 3 +- .../public/components/paywall.stories.tsx | 2 +- .../public/components/paywall.tsx | 27 ++--- .../public/containers/enterprise_guard.tsx | 9 +- .../public/mocks/story_providers.tsx | 5 +- .../public/mocks/test_providers.tsx | 13 ++- .../threat_intelligence/public/plugin.tsx | 16 ++- .../plugins/threat_intelligence/tsconfig.json | 9 +- yarn.lock | 4 + 40 files changed, 801 insertions(+), 133 deletions(-) create mode 100644 packages/kbn-subscription-tracking/README.md create mode 100644 packages/kbn-subscription-tracking/index.ts create mode 100644 packages/kbn-subscription-tracking/jest.config.js create mode 100644 packages/kbn-subscription-tracking/kibana.jsonc create mode 100644 packages/kbn-subscription-tracking/mocks.tsx create mode 100644 packages/kbn-subscription-tracking/package.json create mode 100644 packages/kbn-subscription-tracking/src/helpers.test.ts create mode 100644 packages/kbn-subscription-tracking/src/helpers.ts create mode 100644 packages/kbn-subscription-tracking/src/services.tsx create mode 100644 packages/kbn-subscription-tracking/src/subscription_elements.test.tsx create mode 100644 packages/kbn-subscription-tracking/src/subscription_elements.tsx create mode 100644 packages/kbn-subscription-tracking/src/use_go_to_subscription.ts create mode 100644 packages/kbn-subscription-tracking/src/use_impression.ts create mode 100644 packages/kbn-subscription-tracking/tsconfig.json create mode 100644 packages/kbn-subscription-tracking/types.ts diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 62c41894801c1..539735e934dc7 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -723,6 +723,7 @@ test/server_integration/plugins/status_plugin_b @elastic/kibana-core packages/kbn-std @elastic/kibana-core packages/kbn-stdio-dev-helpers @elastic/kibana-operations packages/kbn-storybook @elastic/kibana-operations +packages/kbn-subscription-tracking @elastic/security-threat-hunting-investigations x-pack/plugins/synthetics @elastic/uptime x-pack/test/alerting_api_integration/common/plugins/task_manager_fixture @elastic/response-ops x-pack/test/plugin_api_perf/plugins/task_manager_performance @elastic/response-ops diff --git a/package.json b/package.json index d3f6a91735108..6ebe1726de727 100644 --- a/package.json +++ b/package.json @@ -722,6 +722,7 @@ "@kbn/status-plugin-a-plugin": "link:test/server_integration/plugins/status_plugin_a", "@kbn/status-plugin-b-plugin": "link:test/server_integration/plugins/status_plugin_b", "@kbn/std": "link:packages/kbn-std", + "@kbn/subscription-tracking": "link:packages/kbn-subscription-tracking", "@kbn/synthetics-plugin": "link:x-pack/plugins/synthetics", "@kbn/task-manager-fixture-plugin": "link:x-pack/test/alerting_api_integration/common/plugins/task_manager_fixture", "@kbn/task-manager-performance-plugin": "link:x-pack/test/plugin_api_perf/plugins/task_manager_performance", diff --git a/packages/core/analytics/core-analytics-browser-internal/tsconfig.json b/packages/core/analytics/core-analytics-browser-internal/tsconfig.json index 4c2daa18d079d..c6efe4287effc 100644 --- a/packages/core/analytics/core-analytics-browser-internal/tsconfig.json +++ b/packages/core/analytics/core-analytics-browser-internal/tsconfig.json @@ -2,14 +2,9 @@ "extends": "../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", - "types": [ - "jest", - "node" - ] + "types": ["jest", "node"] }, - "include": [ - "**/*.ts" - ], + "include": ["**/*.ts"], "kbn_references": [ "@kbn/logging", "@kbn/analytics-client", @@ -20,7 +15,5 @@ "@kbn/core-base-browser-mocks", "@kbn/core-injected-metadata-browser-mocks" ], - "exclude": [ - "target/**/*", - ] + "exclude": ["target/**/*"] } diff --git a/packages/kbn-subscription-tracking/README.md b/packages/kbn-subscription-tracking/README.md new file mode 100644 index 0000000000000..4f84593980881 --- /dev/null +++ b/packages/kbn-subscription-tracking/README.md @@ -0,0 +1,35 @@ +# @kbn/subscription-tracking + +This package leverages the `@kbn/analytics-client` package to send dedicated subscription tracking events. + +It provides a set of React components that automatically track `impression` and `click` events. Consumers of those components need to specify a `subscription context` that gives more details on the type of feature that is advertised and the location of the upsell. + +```typescript +import { SubscriptionLink } from '@kbn/subscription-tracking'; +import type { SubscriptionContext } from '@kbn/subscription-tracking'; + +const subscriptionContext: SubscriptionContext = { + feature: 'threat-intelligence', + source: 'security__threat-intelligence', +}; + +export const Paywall = () => { + return ( + <div> + <SubscriptionLink subscriptionContext={subscriptionContext}> + Upgrade to Platinum to get this feature + </SubscriptionLink> + </div> + ); +}; +``` + +The example above uses a `SubscriptionLink` which is a wrapper of `EuiLink` . So it behaves just like a normal link. Alternatively, upsells can also use a `SubscriptionButton` or `SubscriptionButtonEmpty` which wrap `EuiButton` and `EuiButtonEmpty` respectively. + +When the link is mounted, it will send off an `impression` event with the given `subscriptionContext`. That piece of metadata consists of an identifier of the advertised feature (in this case `threat-intelligence`) and the `source` (aka location) of the impression (in this case the `threat-intelligence` page in the `security` solution). `source` follows the following format: `{solution-identifier}__location-identifier`. + +There are no special rules for how to name these identifiers but it's good practise to make sure that `feature` has the same value for all upsells advertising the same feature (e.g. use enums for features to prevent spelling mistakes). + +Upon interaction with the upsell link/button, a special `click` event is sent, which, again, contains the same subscription context. + +If you want to use the `subscription-tracking` elements in your app, you have to set up a `SubscriptionTrackingProvider` in your plugin setup and register the tracking events on startup. Have a look at https://github.com/elastic/kibana/pull/143910 for an example of an integration. diff --git a/packages/kbn-subscription-tracking/index.ts b/packages/kbn-subscription-tracking/index.ts new file mode 100644 index 0000000000000..de17c595918d5 --- /dev/null +++ b/packages/kbn-subscription-tracking/index.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. + */ + +export * from './src/subscription_elements'; + +export { + SubscriptionTrackingContext, + SubscriptionTrackingProvider, + registerEvents, +} from './src/services'; + +export * from './types'; diff --git a/packages/kbn-subscription-tracking/jest.config.js b/packages/kbn-subscription-tracking/jest.config.js new file mode 100644 index 0000000000000..edc1839850dae --- /dev/null +++ b/packages/kbn-subscription-tracking/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: ['<rootDir>/packages/kbn-subscription-tracking'], +}; diff --git a/packages/kbn-subscription-tracking/kibana.jsonc b/packages/kbn-subscription-tracking/kibana.jsonc new file mode 100644 index 0000000000000..e165baebfa76b --- /dev/null +++ b/packages/kbn-subscription-tracking/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/subscription-tracking", + "owner": "@elastic/security-threat-hunting-investigations" +} diff --git a/packages/kbn-subscription-tracking/mocks.tsx b/packages/kbn-subscription-tracking/mocks.tsx new file mode 100644 index 0000000000000..b918f9bba2828 --- /dev/null +++ b/packages/kbn-subscription-tracking/mocks.tsx @@ -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 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 React, { FC } from 'react'; +import { analyticsClientMock } from '@kbn/analytics-client/src/mocks'; + +import { SubscriptionTrackingProvider } from './src/services'; + +const analyticsClientMockInst = analyticsClientMock.create(); + +/** + * Mock for the external services provider. Only use in tests! + */ +export const MockSubscriptionTrackingProvider: FC = ({ children }) => { + return ( + <SubscriptionTrackingProvider + navigateToApp={jest.fn()} + analyticsClient={analyticsClientMockInst} + > + {children} + </SubscriptionTrackingProvider> + ); +}; diff --git a/packages/kbn-subscription-tracking/package.json b/packages/kbn-subscription-tracking/package.json new file mode 100644 index 0000000000000..e9dd11b56c81b --- /dev/null +++ b/packages/kbn-subscription-tracking/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/subscription-tracking", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-subscription-tracking/src/helpers.test.ts b/packages/kbn-subscription-tracking/src/helpers.test.ts new file mode 100644 index 0000000000000..fa000567d35d3 --- /dev/null +++ b/packages/kbn-subscription-tracking/src/helpers.test.ts @@ -0,0 +1,45 @@ +/* + * 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 { isValidContext } from './helpers'; + +describe('tracking', () => { + describe('isValidLocation', () => { + it('identifies correct contexts', () => { + expect( + isValidContext({ + feature: 'test', + source: 'security__test', + }) + ).toBeTruthy(); + }); + + it('identifies incorrect contexts', () => { + expect( + isValidContext({ + feature: '', + source: 'security__', + }) + ).toBeFalsy(); + + expect( + isValidContext({ + feature: 'test', + source: 'security__', + }) + ).toBeFalsy(); + + expect( + isValidContext({ + feature: '', + source: 'security__test', + }) + ).toBeFalsy(); + }); + }); +}); diff --git a/packages/kbn-subscription-tracking/src/helpers.ts b/packages/kbn-subscription-tracking/src/helpers.ts new file mode 100644 index 0000000000000..251c0d1c04116 --- /dev/null +++ b/packages/kbn-subscription-tracking/src/helpers.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 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 { SubscriptionContextData } from '../types'; + +const sourceStringRegEx = /^(\w[\w\-_]*)__(\w[\w\-_]*)$/; +export function isValidContext(context: SubscriptionContextData): boolean { + return context.feature.length > 0 && sourceStringRegEx.test(context.source); +} diff --git a/packages/kbn-subscription-tracking/src/services.tsx b/packages/kbn-subscription-tracking/src/services.tsx new file mode 100644 index 0000000000000..857bd0b0dcd89 --- /dev/null +++ b/packages/kbn-subscription-tracking/src/services.tsx @@ -0,0 +1,70 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 React, { FC, useContext } from 'react'; +import type { AnalyticsClient, EventTypeOpts } from '@kbn/analytics-client'; +import { EVENT_NAMES, Services, SubscriptionContextData } from '../types'; + +export const SubscriptionTrackingContext = React.createContext<Services | null>(null); + +/** + * External services provider + */ +export const SubscriptionTrackingProvider: FC<Services> = ({ children, ...services }) => { + return ( + <SubscriptionTrackingContext.Provider value={services}> + {children} + </SubscriptionTrackingContext.Provider> + ); +}; + +/** + * React hook for accessing pre-wired services. + */ +export function useServices() { + const context = useContext(SubscriptionTrackingContext); + + if (!context) { + throw new Error( + 'SubscriptionTrackingContext is missing. Ensure your component or React root is wrapped with SubscriptionTrackingProvider.' + ); + } + + return context; +} + +const subscriptionContextSchema: EventTypeOpts<SubscriptionContextData>['schema'] = { + source: { + type: 'keyword', + _meta: { + description: + 'A human-readable identifier describing the location of the beginning of the subscription flow', + }, + }, + feature: { + type: 'keyword', + _meta: { + description: 'A human-readable identifier describing the feature that is being promoted', + }, + }, +}; + +/** + * Registers the subscription-specific event types + */ +export function registerEvents(analyticsClient: Pick<AnalyticsClient, 'registerEventType'>) { + analyticsClient.registerEventType<SubscriptionContextData>({ + eventType: EVENT_NAMES.IMPRESSION, + schema: subscriptionContextSchema, + }); + + analyticsClient.registerEventType<SubscriptionContextData>({ + eventType: EVENT_NAMES.CLICK, + schema: subscriptionContextSchema, + }); +} diff --git a/packages/kbn-subscription-tracking/src/subscription_elements.test.tsx b/packages/kbn-subscription-tracking/src/subscription_elements.test.tsx new file mode 100644 index 0000000000000..1795bbf42dd0c --- /dev/null +++ b/packages/kbn-subscription-tracking/src/subscription_elements.test.tsx @@ -0,0 +1,108 @@ +/* + * 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 React from 'react'; +import { render, screen } from '@testing-library/react'; +import { + SubscriptionLink, + SubscriptionButton, + SubscriptionButtonEmpty, +} from './subscription_elements'; +import { SubscriptionTrackingProvider } from './services'; +import { EVENT_NAMES, Services, SubscriptionContextData } from '../types'; +import { coolDownTimeMs, resetCoolDown } from './use_impression'; + +const testServices: Services = { + navigateToApp: jest.fn(), + analyticsClient: { + reportEvent: jest.fn(), + registerEventType: jest.fn(), + } as any, +}; +const testContext: SubscriptionContextData = { feature: 'test', source: 'security__test' }; + +const WithProviders: React.FC = ({ children }) => ( + <SubscriptionTrackingProvider + analyticsClient={testServices.analyticsClient} + navigateToApp={testServices.navigateToApp} + > + {children} + </SubscriptionTrackingProvider> +); + +const renderWithProviders = (children: React.ReactElement) => + render(children, { wrapper: WithProviders }); + +const reset = () => { + jest.resetAllMocks(); + resetCoolDown(); +}; + +describe('SubscriptionElements', () => { + beforeAll(() => { + jest.useFakeTimers(); + }); + + afterAll(() => { + jest.useRealTimers(); + }); + + [SubscriptionButton, SubscriptionLink, SubscriptionButtonEmpty].forEach((SubscriptionElement) => { + describe(SubscriptionElement.name, () => { + beforeEach(reset); + + it('renders the children correctly', () => { + renderWithProviders( + <SubscriptionElement subscriptionContext={testContext}>Hello</SubscriptionElement> + ); + expect(screen.getByText('Hello')).toBeTruthy(); + }); + + it('fires an impression event when rendered', () => { + renderWithProviders(<SubscriptionElement subscriptionContext={testContext} />); + expect(testServices.analyticsClient.reportEvent).toHaveBeenCalledWith( + EVENT_NAMES.IMPRESSION, + testContext + ); + }); + + it('fires an impression event when rendered (but only once)', () => { + const { unmount } = renderWithProviders( + <SubscriptionElement subscriptionContext={testContext} /> + ); + expect(testServices.analyticsClient.reportEvent).toHaveBeenCalledTimes(1); + unmount(); + + // does not create an impression again when remounted + const { unmount: unmountAgain } = renderWithProviders( + <SubscriptionElement subscriptionContext={testContext} /> + ); + unmountAgain(); + expect(testServices.analyticsClient.reportEvent).toHaveBeenCalledTimes(1); + + // only creates anew impression when the cooldown time has passed + jest.setSystemTime(Date.now() + coolDownTimeMs); + renderWithProviders(<SubscriptionElement subscriptionContext={testContext} />); + expect(testServices.analyticsClient.reportEvent).toHaveBeenCalledTimes(2); + }); + + it('tracks a click when clicked and navigates to page', () => { + renderWithProviders( + <SubscriptionElement subscriptionContext={testContext}>hello</SubscriptionElement> + ); + + screen.getByText('hello').click(); + expect(testServices.analyticsClient.reportEvent).toHaveBeenCalledWith( + EVENT_NAMES.CLICK, + testContext + ); + expect(testServices.navigateToApp).toHaveBeenCalled(); + }); + }); + }); +}); diff --git a/packages/kbn-subscription-tracking/src/subscription_elements.tsx b/packages/kbn-subscription-tracking/src/subscription_elements.tsx new file mode 100644 index 0000000000000..f29c58d8a0a41 --- /dev/null +++ b/packages/kbn-subscription-tracking/src/subscription_elements.tsx @@ -0,0 +1,79 @@ +/* + * 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 React from 'react'; +import { EuiLink, EuiButton, EuiButtonEmpty } from '@elastic/eui'; +import type { EuiLinkProps, EuiButtonEmptyProps, EuiButtonProps } from '@elastic/eui'; +import { useGoToSubscription } from './use_go_to_subscription'; +import { useImpression } from './use_impression'; +import type { SubscriptionContextData } from '../types'; + +interface CommonProps { + /** The context information for this subscription element */ + subscriptionContext: SubscriptionContextData; +} + +export type SubscriptionLinkProps = EuiLinkProps & CommonProps; + +/** + * Wrapper around `EuiLink` that provides subscription events + */ +export function SubscriptionLink({ + subscriptionContext, + children, + ...restProps +}: SubscriptionLinkProps) { + const goToSubscription = useGoToSubscription({ subscriptionContext }); + useImpression(subscriptionContext); + + return ( + <EuiLink {...restProps} onClick={goToSubscription}> + {children} + </EuiLink> + ); +} + +export type SubscriptionButtonProps = EuiButtonProps & CommonProps; + +/** + * Wrapper around `EuiButton` that provides subscription events + */ +export function SubscriptionButton({ + subscriptionContext, + children, + ...restProps +}: SubscriptionButtonProps) { + const goToSubscription = useGoToSubscription({ subscriptionContext }); + useImpression(subscriptionContext); + + return ( + <EuiButton {...restProps} onClick={goToSubscription}> + {children} + </EuiButton> + ); +} + +export type SubscriptionButtonEmptyProps = EuiButtonEmptyProps & CommonProps; + +/** + * Wrapper around `EuiButtonEmpty` that provides subscription events + */ +export function SubscriptionButtonEmpty({ + subscriptionContext, + children, + ...restProps +}: SubscriptionButtonEmptyProps) { + const goToSubscription = useGoToSubscription({ subscriptionContext }); + useImpression(subscriptionContext); + + return ( + <EuiButtonEmpty {...restProps} onClick={goToSubscription}> + {children} + </EuiButtonEmpty> + ); +} diff --git a/packages/kbn-subscription-tracking/src/use_go_to_subscription.ts b/packages/kbn-subscription-tracking/src/use_go_to_subscription.ts new file mode 100644 index 0000000000000..6c93fb27ee9bd --- /dev/null +++ b/packages/kbn-subscription-tracking/src/use_go_to_subscription.ts @@ -0,0 +1,35 @@ +/* + * 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 { useCallback } from 'react'; +import { isValidContext } from './helpers'; +import { useServices } from './services'; +import { EVENT_NAMES, SubscriptionContextData } from '../types'; + +interface Options { + subscriptionContext: SubscriptionContextData; +} + +/** + * Provides a navigation function that navigates to the subscription + * management page. When the function executes, a click event with the + * given context is emitted. + */ +export const useGoToSubscription = ({ subscriptionContext }: Options) => { + const { navigateToApp, analyticsClient } = useServices(); + const goToSubscription = useCallback(() => { + if (isValidContext(subscriptionContext)) { + analyticsClient.reportEvent(EVENT_NAMES.CLICK, subscriptionContext); + } else { + // eslint-disable-next-line no-console + console.error('The provided subscription context is invalid', subscriptionContext); + } + navigateToApp('management', { path: 'stack/license_management' }); + }, [analyticsClient, navigateToApp, subscriptionContext]); + + return goToSubscription; +}; diff --git a/packages/kbn-subscription-tracking/src/use_impression.ts b/packages/kbn-subscription-tracking/src/use_impression.ts new file mode 100644 index 0000000000000..eb8aa4c2e0ec5 --- /dev/null +++ b/packages/kbn-subscription-tracking/src/use_impression.ts @@ -0,0 +1,57 @@ +/* + * 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 { useEffect } from 'react'; +import { isValidContext } from './helpers'; +import { useServices } from './services'; +import { EVENT_NAMES, SubscriptionContextData } from '../types'; + +/** + * Sends an impression event with the given context. + * + * Note: impression events are throttled and will not fire more + * often than once every 30 seconds. + */ +export const useImpression = (context: SubscriptionContextData) => { + const { analyticsClient } = useServices(); + + useEffect(() => { + if (!isValidContext(context)) { + // eslint-disable-next-line no-console + console.error('The provided subscription context is invalid', context); + return; + } + if (!isCoolingDown(context)) { + analyticsClient.reportEvent(EVENT_NAMES.IMPRESSION, context); + coolDown(context); + } + }, [analyticsClient, context]); +}; + +/** + * Impressions from the same context should not fire more than once every 30 seconds. + * This prevents logging too many impressions in case a page is reloaded often or + * if the user is navigating back and forth rapidly. + */ +export const coolDownTimeMs = 30 * 1000; +let impressionCooldown = new WeakMap<SubscriptionContextData, number>(); + +function isCoolingDown(context: SubscriptionContextData) { + const previousLog = impressionCooldown.get(context); + + // we logged before and we are in the cooldown period + return previousLog && Date.now() - previousLog < coolDownTimeMs; +} + +function coolDown(context: SubscriptionContextData) { + impressionCooldown.set(context, Date.now()); +} + +export function resetCoolDown() { + impressionCooldown = new WeakMap<SubscriptionContextData, number>(); +} diff --git a/packages/kbn-subscription-tracking/tsconfig.json b/packages/kbn-subscription-tracking/tsconfig.json new file mode 100644 index 0000000000000..677e9db998bb7 --- /dev/null +++ b/packages/kbn-subscription-tracking/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": ["jest", "node", "react"] + }, + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["target/**/*"], + "kbn_references": ["@kbn/analytics-client"] +} diff --git a/packages/kbn-subscription-tracking/types.ts b/packages/kbn-subscription-tracking/types.ts new file mode 100644 index 0000000000000..a2adf0c6d90c5 --- /dev/null +++ b/packages/kbn-subscription-tracking/types.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 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 { AnalyticsClient } from '@kbn/analytics-client'; + +enum SolutionIdentifier { + observability = 'observability', + security = 'security', +} +type LocationString = string; +type SourceIdentifier = `${SolutionIdentifier}__${LocationString}`; +/** + * A piece of metadata which consists of an identifier of the advertised feature and + * the `source` (e.g. location) of the subscription element. + */ +export interface SubscriptionContextData { + /** + * A human-readable identifier describing the location of the beginning of the + * subscription flow. + * Location identifiers are prefixed with a solution identifier, e.g. `security__` + * + * @example "security__host-overview" - the user is looking at an upsell button + * on the host overview page in the security solution + */ + source: SourceIdentifier; + + /** + * A human-readable identifier describing the feature that is being promoted. + * + * @example "alerts-by-process-ancestry" + */ + feature: string; +} + +export interface Services { + navigateToApp: (app: string, options: { path: string }) => void; + analyticsClient: Pick<AnalyticsClient, 'reportEvent'>; +} + +export enum EVENT_NAMES { + CLICK = 'subscription__upsell__click', + IMPRESSION = 'subscription__upsell__impression', +} diff --git a/tsconfig.base.json b/tsconfig.base.json index 178df4e7c449f..04071f12af018 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1440,6 +1440,8 @@ "@kbn/stdio-dev-helpers/*": ["packages/kbn-stdio-dev-helpers/*"], "@kbn/storybook": ["packages/kbn-storybook"], "@kbn/storybook/*": ["packages/kbn-storybook/*"], + "@kbn/subscription-tracking": ["packages/kbn-subscription-tracking"], + "@kbn/subscription-tracking/*": ["packages/kbn-subscription-tracking/*"], "@kbn/synthetics-plugin": ["x-pack/plugins/synthetics"], "@kbn/synthetics-plugin/*": ["x-pack/plugins/synthetics/*"], "@kbn/task-manager-fixture-plugin": ["x-pack/test/alerting_api_integration/common/plugins/task_manager_fixture"], diff --git a/x-pack/plugins/cloud_security_posture/public/components/subscription_not_allowed.tsx b/x-pack/plugins/cloud_security_posture/public/components/subscription_not_allowed.tsx index 282ea71125655..644455e5a2a68 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/subscription_not_allowed.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/subscription_not_allowed.tsx @@ -5,9 +5,16 @@ * 2.0. */ -import { EuiEmptyPrompt, EuiPageSection, EuiLink } from '@elastic/eui'; -import { FormattedMessage } from '@kbn/i18n-react'; import React from 'react'; +import { EuiEmptyPrompt, EuiPageSection } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { SubscriptionLink } from '@kbn/subscription-tracking'; +import type { SubscriptionContextData } from '@kbn/subscription-tracking'; + +const subscriptionContext: SubscriptionContextData = { + feature: 'cloud-security-posture', + source: 'security__cloud-security-posture', +}; export const SubscriptionNotAllowed = ({ licenseManagementLocator, @@ -34,12 +41,12 @@ export const SubscriptionNotAllowed = ({ defaultMessage="To use these cloud security features, you must {link}." values={{ link: ( - <EuiLink href={licenseManagementLocator}> + <SubscriptionLink subscriptionContext={subscriptionContext}> <FormattedMessage id="xpack.csp.subscriptionNotAllowed.promptLinkText" defaultMessage="start a trial or upgrade your subscription" /> - </EuiLink> + </SubscriptionLink> ), }} /> diff --git a/x-pack/plugins/cloud_security_posture/public/plugin.tsx b/x-pack/plugins/cloud_security_posture/public/plugin.tsx index a941f1f770b13..32e5ee577e40e 100755 --- a/x-pack/plugins/cloud_security_posture/public/plugin.tsx +++ b/x-pack/plugins/cloud_security_posture/public/plugin.tsx @@ -8,6 +8,7 @@ import React, { lazy, Suspense } from 'react'; import type { CoreSetup, CoreStart, Plugin } from '@kbn/core/public'; import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; import { RedirectAppLinks } from '@kbn/shared-ux-link-redirect-app'; +import { SubscriptionTrackingProvider } from '@kbn/subscription-tracking'; import { CspLoadingState } from './components/csp_loading_state'; import type { CspRouterProps } from './application/csp_router'; import type { @@ -71,11 +72,16 @@ export class CspPlugin const App = (props: CspRouterProps) => ( <KibanaContextProvider services={{ ...core, ...plugins }}> <RedirectAppLinks coreStart={core}> - <div style={{ width: '100%', height: '100%' }}> - <SetupContext.Provider value={{ isCloudEnabled: this.isCloudEnabled }}> - <CspRouter {...props} /> - </SetupContext.Provider> - </div> + <SubscriptionTrackingProvider + analyticsClient={core.analytics} + navigateToApp={core.application.navigateToApp} + > + <div style={{ width: '100%', height: '100%' }}> + <SetupContext.Provider value={{ isCloudEnabled: this.isCloudEnabled }}> + <CspRouter {...props} /> + </SetupContext.Provider> + </div> + </SubscriptionTrackingProvider> </RedirectAppLinks> </KibanaContextProvider> ); diff --git a/x-pack/plugins/cloud_security_posture/public/test/test_provider.tsx b/x-pack/plugins/cloud_security_posture/public/test/test_provider.tsx index b8a5a0e5c4ae7..57fc2935e5708 100755 --- a/x-pack/plugins/cloud_security_posture/public/test/test_provider.tsx +++ b/x-pack/plugins/cloud_security_posture/public/test/test_provider.tsx @@ -11,7 +11,7 @@ import { I18nProvider } from '@kbn/i18n-react'; // eslint-disable-next-line no-restricted-imports import { Router } from 'react-router-dom'; import { Route, Routes } from '@kbn/shared-ux-router'; - +import { MockSubscriptionTrackingProvider } from '@kbn/subscription-tracking/mocks'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { coreMock } from '@kbn/core/public/mocks'; import { dataPluginMock } from '@kbn/data-plugin/public/mocks'; @@ -48,9 +48,11 @@ export const TestProvider: React.FC<Partial<CspAppDeps>> = ({ <QueryClientProvider client={queryClient}> <Router history={params.history}> <I18nProvider> - <Routes> - <Route path="*" render={() => <>{children}</>} /> - </Routes> + <MockSubscriptionTrackingProvider> + <Routes> + <Route path="*" render={() => <>{children}</>} /> + </Routes> + </MockSubscriptionTrackingProvider> </I18nProvider> </Router> </QueryClientProvider> diff --git a/x-pack/plugins/cloud_security_posture/tsconfig.json b/x-pack/plugins/cloud_security_posture/tsconfig.json index 07c86f24ea18a..307394e41d84b 100755 --- a/x-pack/plugins/cloud_security_posture/tsconfig.json +++ b/x-pack/plugins/cloud_security_posture/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "target/types", + "outDir": "target/types" }, "include": [ "common/**/*", @@ -49,9 +49,8 @@ "@kbn/core-saved-objects-server", "@kbn/share-plugin", "@kbn/core-http-server", - "@kbn/core-http-browser" + "@kbn/core-http-browser", + "@kbn/subscription-tracking" ], - "exclude": [ - "target/**/*", - ] + "exclude": ["target/**/*"] } diff --git a/x-pack/plugins/licensing/public/plugin.test.ts b/x-pack/plugins/licensing/public/plugin.test.ts index 5c571d0c6a40b..9804f1ba8e1b7 100644 --- a/x-pack/plugins/licensing/public/plugin.test.ts +++ b/x-pack/plugins/licensing/public/plugin.test.ts @@ -16,6 +16,7 @@ import { License } from '../common/license'; import { licenseMock } from '../common/licensing.mock'; import { coreMock } from '@kbn/core/public/mocks'; import { HttpInterceptor } from '@kbn/core/public'; +import type { AnalyticsServiceSetup } from '@kbn/core-analytics-browser'; const coreStart = coreMock.createStart(); describe('licensing plugin', () => { @@ -442,5 +443,69 @@ describe('licensing plugin', () => { expect(removeInterceptorMock).toHaveBeenCalledTimes(1); }); + + it('registers the subscription upsell events', async () => { + const sessionStorage = coreMock.createStorage(); + plugin = new LicensingPlugin(coreMock.createPluginInitializerContext(), sessionStorage); + + const coreSetup = coreMock.createSetup(); + + await plugin.setup(coreSetup); + await plugin.stop(); + + expect(findRegisteredEventTypeByName('subscription__upsell__click', coreSetup.analytics)) + .toMatchInlineSnapshot(` + Array [ + Object { + "eventType": "subscription__upsell__click", + "schema": Object { + "feature": Object { + "_meta": Object { + "description": "A human-readable identifier describing the feature that is being promoted", + }, + "type": "keyword", + }, + "source": Object { + "_meta": Object { + "description": "A human-readable identifier describing the location of the beginning of the subscription flow", + }, + "type": "keyword", + }, + }, + }, + ] + `); + expect(findRegisteredEventTypeByName('subscription__upsell__impression', coreSetup.analytics)) + .toMatchInlineSnapshot(` + Array [ + Object { + "eventType": "subscription__upsell__impression", + "schema": Object { + "feature": Object { + "_meta": Object { + "description": "A human-readable identifier describing the feature that is being promoted", + }, + "type": "keyword", + }, + "source": Object { + "_meta": Object { + "description": "A human-readable identifier describing the location of the beginning of the subscription flow", + }, + "type": "keyword", + }, + }, + }, + ] + `); + }); }); }); + +function findRegisteredEventTypeByName( + eventTypeName: string, + analyticsClientMock: jest.Mocked<AnalyticsServiceSetup> +) { + return analyticsClientMock.registerEventType.mock.calls.find( + ([{ eventType }]) => eventType === eventTypeName + )!; +} diff --git a/x-pack/plugins/licensing/public/plugin.ts b/x-pack/plugins/licensing/public/plugin.ts index 3953a29a08214..bc350675d7dd2 100644 --- a/x-pack/plugins/licensing/public/plugin.ts +++ b/x-pack/plugins/licensing/public/plugin.ts @@ -8,6 +8,7 @@ import { Observable, Subject, Subscription } from 'rxjs'; import { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from '@kbn/core/public'; +import { registerEvents as registerSubscriptionTrackingEvents } from '@kbn/subscription-tracking'; import { ILicense } from '../common/types'; import { LicensingPluginSetup, LicensingPluginStart } from './types'; import { createLicenseUpdate } from '../common/license_update'; @@ -84,6 +85,7 @@ export class LicensingPlugin implements Plugin<LicensingPluginSetup, LicensingPl ); registerAnalyticsContextProvider(core.analytics, license$); + registerSubscriptionTrackingEvents(core.analytics); this.internalSubscription = license$.subscribe((license) => { if (license.isAvailable) { diff --git a/x-pack/plugins/licensing/tsconfig.json b/x-pack/plugins/licensing/tsconfig.json index 0abd1517b2d3a..323f77b3b0ebc 100644 --- a/x-pack/plugins/licensing/tsconfig.json +++ b/x-pack/plugins/licensing/tsconfig.json @@ -2,13 +2,9 @@ "extends": "../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", - "isolatedModules": true, + "isolatedModules": true }, - "include": [ - "public/**/*", - "server/**/*", - "common/**/*" - ], + "include": ["public/**/*", "server/**/*", "common/**/*"], "kbn_references": [ "@kbn/core", "@kbn/kibana-react-plugin", @@ -18,8 +14,8 @@ "@kbn/std", "@kbn/i18n", "@kbn/analytics-client", + "@kbn/subscription-tracking", + "@kbn/core-analytics-browser" ], - "exclude": [ - "target/**/*", - ] + "exclude": ["target/**/*"] } diff --git a/x-pack/plugins/security_solution/public/app/index.tsx b/x-pack/plugins/security_solution/public/app/index.tsx index 91eca678f6d3c..e635c2d9fd3d3 100644 --- a/x-pack/plugins/security_solution/public/app/index.tsx +++ b/x-pack/plugins/security_solution/public/app/index.tsx @@ -7,6 +7,7 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; +import { SubscriptionTrackingProvider } from '@kbn/subscription-tracking'; import { SecurityApp } from './app'; import type { RenderAppProps } from './types'; import { AppRoutes } from './app_routes'; @@ -21,6 +22,7 @@ export const renderApp = ({ usageCollection, subPluginRoutes, theme$, + subscriptionTrackingServices, }: RenderAppProps): (() => void) => { const ApplicationUsageTrackingProvider = usageCollection?.components.ApplicationUsageTrackingProvider ?? React.Fragment; @@ -34,7 +36,12 @@ export const renderApp = ({ theme$={theme$} > <ApplicationUsageTrackingProvider> - <AppRoutes subPluginRoutes={subPluginRoutes} services={services} /> + <SubscriptionTrackingProvider + analyticsClient={subscriptionTrackingServices.analyticsClient} + navigateToApp={subscriptionTrackingServices.navigateToApp} + > + <AppRoutes subPluginRoutes={subPluginRoutes} services={services} /> + </SubscriptionTrackingProvider> </ApplicationUsageTrackingProvider> </SecurityApp>, element diff --git a/x-pack/plugins/security_solution/public/app/types.ts b/x-pack/plugins/security_solution/public/app/types.ts index 578a4800f7f64..66bab19c945fe 100644 --- a/x-pack/plugins/security_solution/public/app/types.ts +++ b/x-pack/plugins/security_solution/public/app/types.ts @@ -19,6 +19,7 @@ import type { RouteProps } from 'react-router-dom'; import type { AppMountParameters } from '@kbn/core/public'; import type { UsageCollectionSetup } from '@kbn/usage-collection-plugin/public'; import type { TableState } from '@kbn/securitysolution-data-table'; +import type { Services as SubscriptionTrackingServices } from '@kbn/subscription-tracking'; import type { ExploreReducer, ExploreState } from '../explore'; import type { StartServices } from '../types'; @@ -29,6 +30,7 @@ export interface RenderAppProps extends AppMountParameters { services: StartServices; store: Store<State, Action>; subPluginRoutes: RouteProps[]; + subscriptionTrackingServices: SubscriptionTrackingServices; usageCollection?: UsageCollectionSetup; } diff --git a/x-pack/plugins/security_solution/public/common/components/event_details/insights/related_alerts_upsell.tsx b/x-pack/plugins/security_solution/public/common/components/event_details/insights/related_alerts_upsell.tsx index ba225495a032b..303e55ff66b97 100644 --- a/x-pack/plugins/security_solution/public/common/components/event_details/insights/related_alerts_upsell.tsx +++ b/x-pack/plugins/security_solution/public/common/components/event_details/insights/related_alerts_upsell.tsx @@ -5,12 +5,18 @@ * 2.0. */ -import React, { useCallback } from 'react'; -import { EuiFlexGroup, EuiFlexItem, EuiLink, EuiIcon, EuiText } from '@elastic/eui'; +import React from 'react'; +import { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiText } from '@elastic/eui'; import { euiStyled } from '@kbn/kibana-react-plugin/common'; +import { SubscriptionLink } from '@kbn/subscription-tracking'; +import type { SubscriptionContextData } from '@kbn/subscription-tracking'; import { INSIGHTS_UPSELL } from './translations'; -import { useNavigation } from '../../../lib/kibana'; + +const subscriptionContext: SubscriptionContextData = { + feature: 'alert-details-insights', + source: 'security__alert-details-flyout', +}; const UpsellContainer = euiStyled.div` border: 1px solid ${({ theme }) => theme.eui.euiColorLightShade}; @@ -23,15 +29,6 @@ const StyledIcon = euiStyled(EuiIcon)` `; export const RelatedAlertsUpsell = React.memo(() => { - const { getAppUrl, navigateTo } = useNavigation(); - const subscriptionUrl = getAppUrl({ - appId: 'management', - path: 'stack/license_management', - }); - const goToSubscription = useCallback(() => { - navigateTo({ url: subscriptionUrl }); - }, [navigateTo, subscriptionUrl]); - return ( <UpsellContainer> <EuiFlexGroup alignItems="center" gutterSize="none"> @@ -40,9 +37,13 @@ export const RelatedAlertsUpsell = React.memo(() => { </EuiFlexItem> <EuiFlexItem> <EuiText size="s"> - <EuiLink color="subdued" onClick={goToSubscription} target="_blank"> + <SubscriptionLink + color="subdued" + target="_blank" + subscriptionContext={subscriptionContext} + > {INSIGHTS_UPSELL} - </EuiLink> + </SubscriptionLink> </EuiText> </EuiFlexItem> </EuiFlexGroup> diff --git a/x-pack/plugins/security_solution/public/common/mock/test_providers.tsx b/x-pack/plugins/security_solution/public/common/mock/test_providers.tsx index 21312f9c24f3f..88aebe587a8d9 100644 --- a/x-pack/plugins/security_solution/public/common/mock/test_providers.tsx +++ b/x-pack/plugins/security_solution/public/common/mock/test_providers.tsx @@ -21,6 +21,7 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import type { Action } from '@kbn/ui-actions-plugin/public'; import { CellActionsProvider } from '@kbn/cell-actions'; import { ExpandableFlyoutProvider } from '@kbn/expandable-flyout'; +import { MockSubscriptionTrackingProvider } from '@kbn/subscription-tracking/mocks'; import { useKibana } from '../lib/kibana'; import { UpsellingProvider } from '../components/upselling_provider'; import { MockAssistantProvider } from './mock_assistant_provider'; @@ -74,25 +75,27 @@ export const TestProvidersComponent: React.FC<Props> = ({ return ( <I18nProvider> <MockKibanaContextProvider> - <UpsellingProviderMock> - <ReduxStoreProvider store={store}> - <ThemeProvider theme={() => ({ eui: euiDarkVars, darkMode: true })}> - <MockAssistantProvider> - <QueryClientProvider client={queryClient}> - <ExpandableFlyoutProvider> - <ConsoleManager> - <CellActionsProvider - getTriggerCompatibleActions={() => Promise.resolve(cellActions)} - > - <DragDropContext onDragEnd={onDragEnd}>{children}</DragDropContext> - </CellActionsProvider> - </ConsoleManager> - </ExpandableFlyoutProvider> - </QueryClientProvider> - </MockAssistantProvider> - </ThemeProvider> - </ReduxStoreProvider> - </UpsellingProviderMock> + <MockSubscriptionTrackingProvider> + <UpsellingProviderMock> + <ReduxStoreProvider store={store}> + <ThemeProvider theme={() => ({ eui: euiDarkVars, darkMode: true })}> + <MockAssistantProvider> + <QueryClientProvider client={queryClient}> + <ExpandableFlyoutProvider> + <ConsoleManager> + <CellActionsProvider + getTriggerCompatibleActions={() => Promise.resolve(cellActions)} + > + <DragDropContext onDragEnd={onDragEnd}>{children}</DragDropContext> + </CellActionsProvider> + </ConsoleManager> + </ExpandableFlyoutProvider> + </QueryClientProvider> + </MockAssistantProvider> + </ThemeProvider> + </ReduxStoreProvider> + </UpsellingProviderMock> + </MockSubscriptionTrackingProvider> </MockKibanaContextProvider> </I18nProvider> ); @@ -117,27 +120,29 @@ const TestProvidersWithPrivilegesComponent: React.FC<Props> = ({ return ( <I18nProvider> <MockKibanaContextProvider> - <ReduxStoreProvider store={store}> - <ThemeProvider theme={() => ({ eui: euiDarkVars, darkMode: true })}> - <MockAssistantProvider> - <UserPrivilegesProvider - kibanaCapabilities={ - { - siem: { show: true, crud: true }, - [CASES_FEATURE_ID]: { read_cases: true, crud_cases: false }, - [ASSISTANT_FEATURE_ID]: { 'ai-assistant': true }, - } as unknown as Capabilities - } - > - <CellActionsProvider - getTriggerCompatibleActions={() => Promise.resolve(cellActions)} + <MockSubscriptionTrackingProvider> + <ReduxStoreProvider store={store}> + <ThemeProvider theme={() => ({ eui: euiDarkVars, darkMode: true })}> + <MockAssistantProvider> + <UserPrivilegesProvider + kibanaCapabilities={ + { + siem: { show: true, crud: true }, + [CASES_FEATURE_ID]: { read_cases: true, crud_cases: false }, + [ASSISTANT_FEATURE_ID]: { 'ai-assistant': true }, + } as unknown as Capabilities + } > - <DragDropContext onDragEnd={onDragEnd}>{children}</DragDropContext> - </CellActionsProvider> - </UserPrivilegesProvider> - </MockAssistantProvider> - </ThemeProvider> - </ReduxStoreProvider> + <CellActionsProvider + getTriggerCompatibleActions={() => Promise.resolve(cellActions)} + > + <DragDropContext onDragEnd={onDragEnd}>{children}</DragDropContext> + </CellActionsProvider> + </UserPrivilegesProvider> + </MockAssistantProvider> + </ThemeProvider> + </ReduxStoreProvider> + </MockSubscriptionTrackingProvider> </MockKibanaContextProvider> </I18nProvider> ); diff --git a/x-pack/plugins/security_solution/public/plugin.tsx b/x-pack/plugins/security_solution/public/plugin.tsx index a384999c32b54..904ec870e9a2c 100644 --- a/x-pack/plugins/security_solution/public/plugin.tsx +++ b/x-pack/plugins/security_solution/public/plugin.tsx @@ -225,6 +225,11 @@ export class Plugin implements IPlugin<PluginSetup, PluginStart, SetupPlugins, S const services = await startServices(params); await this.registerActions(store, params.history, services); + const subscriptionTrackingServices = { + analyticsClient: coreStart.analytics, + navigateToApp: coreStart.application.navigateToApp, + }; + const { renderApp } = await this.lazyApplicationDependencies(); const { getSubPluginRoutesByCapabilities } = await this.lazyHelpersForRoutes(); @@ -238,6 +243,7 @@ export class Plugin implements IPlugin<PluginSetup, PluginStart, SetupPlugins, S coreStart.application.capabilities, services ), + subscriptionTrackingServices, }); }, }); diff --git a/x-pack/plugins/security_solution/tsconfig.json b/x-pack/plugins/security_solution/tsconfig.json index 5452acb5e6f0c..d6d5bb4e0676e 100644 --- a/x-pack/plugins/security_solution/tsconfig.json +++ b/x-pack/plugins/security_solution/tsconfig.json @@ -172,6 +172,7 @@ "@kbn/core-lifecycle-browser", "@kbn/security-solution-features", "@kbn/handlebars", - "@kbn/content-management-plugin" + "@kbn/content-management-plugin", + "@kbn/subscription-tracking" ] } diff --git a/x-pack/plugins/threat_intelligence/public/components/paywall.stories.tsx b/x-pack/plugins/threat_intelligence/public/components/paywall.stories.tsx index 14de7d5b907fb..d607eb1a91d44 100644 --- a/x-pack/plugins/threat_intelligence/public/components/paywall.stories.tsx +++ b/x-pack/plugins/threat_intelligence/public/components/paywall.stories.tsx @@ -14,5 +14,5 @@ export default { }; export function BasicPaywall() { - return <Paywall licenseManagementHref="https://elastic.co" />; + return <Paywall />; } diff --git a/x-pack/plugins/threat_intelligence/public/components/paywall.tsx b/x-pack/plugins/threat_intelligence/public/components/paywall.tsx index 8f095a2fd9baa..a01ca32a06946 100644 --- a/x-pack/plugins/threat_intelligence/public/components/paywall.tsx +++ b/x-pack/plugins/threat_intelligence/public/components/paywall.tsx @@ -6,24 +6,17 @@ */ import React, { VFC } from 'react'; -import { - EuiButton, - EuiButtonEmpty, - EuiEmptyPrompt, - EuiFlexGroup, - EuiFlexItem, - EuiIcon, -} from '@elastic/eui'; +import { EuiButton, EuiEmptyPrompt, EuiFlexGroup, EuiFlexItem, EuiIcon } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; +import { SubscriptionButtonEmpty } from '@kbn/subscription-tracking'; +import type { SubscriptionContextData } from '@kbn/subscription-tracking'; -interface PaywallProps { - /** - * Can be obtained using `http.basePath.prepend('/app/management/stack/license_management')` - */ - licenseManagementHref: string; -} +const subscriptionContext: SubscriptionContextData = { + feature: 'threat-intelligence', + source: 'security__threat-intelligence', +}; -export const Paywall: VFC<PaywallProps> = ({ licenseManagementHref }) => { +export const Paywall: VFC = () => { return ( <EuiEmptyPrompt icon={<EuiIcon type="logoSecurity" size="xl" />} @@ -59,12 +52,12 @@ export const Paywall: VFC<PaywallProps> = ({ licenseManagementHref }) => { </EuiFlexItem> <EuiFlexItem> <div> - <EuiButtonEmpty href={licenseManagementHref}> + <SubscriptionButtonEmpty subscriptionContext={subscriptionContext}> <FormattedMessage id="xpack.threatIntelligence.paywall.trial" defaultMessage="Start a free trial" /> - </EuiButtonEmpty> + </SubscriptionButtonEmpty> </div> </EuiFlexItem> </EuiFlexGroup> diff --git a/x-pack/plugins/threat_intelligence/public/containers/enterprise_guard.tsx b/x-pack/plugins/threat_intelligence/public/containers/enterprise_guard.tsx index 1378e412b9255..98c79339ad78d 100644 --- a/x-pack/plugins/threat_intelligence/public/containers/enterprise_guard.tsx +++ b/x-pack/plugins/threat_intelligence/public/containers/enterprise_guard.tsx @@ -6,16 +6,13 @@ */ import React, { FC } from 'react'; + import { Paywall } from '../components/paywall'; -import { useKibana } from '../hooks/use_kibana'; import { useSecurityContext } from '../hooks/use_security_context'; import { SecuritySolutionPluginTemplateWrapper } from './security_solution_plugin_template_wrapper'; export const EnterpriseGuard: FC = ({ children }) => { const { licenseService } = useSecurityContext(); - const { - services: { http }, - } = useKibana(); if (licenseService.isEnterprise()) { return <>{children}</>; @@ -23,9 +20,7 @@ export const EnterpriseGuard: FC = ({ children }) => { return ( <SecuritySolutionPluginTemplateWrapper isEmptyState> - <Paywall - licenseManagementHref={http.basePath.prepend('/app/management/stack/license_management')} - /> + <Paywall /> </SecuritySolutionPluginTemplateWrapper> ); }; diff --git a/x-pack/plugins/threat_intelligence/public/mocks/story_providers.tsx b/x-pack/plugins/threat_intelligence/public/mocks/story_providers.tsx index 249a9d05afbc9..d13c3f561e748 100644 --- a/x-pack/plugins/threat_intelligence/public/mocks/story_providers.tsx +++ b/x-pack/plugins/threat_intelligence/public/mocks/story_providers.tsx @@ -12,6 +12,7 @@ import { CoreStart, IUiSettingsClient } from '@kbn/core/public'; import { TimelinesUIStart } from '@kbn/timelines-plugin/public'; import { EuiThemeProvider } from '@kbn/kibana-react-plugin/common'; import { RequestAdapter } from '@kbn/inspector-plugin/common'; +import { MockSubscriptionTrackingProvider } from '@kbn/subscription-tracking/mocks'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import type { SettingsStart } from '@kbn/core-ui-settings-browser'; import { mockIndicatorsFiltersContext } from './mock_indicators_filters_context'; @@ -107,7 +108,9 @@ export const StoryProvidersComponent: VFC<StoryProvidersComponentProps> = ({ <SecuritySolutionContext.Provider value={securitySolutionContextMock}> <IndicatorsFiltersContext.Provider value={mockIndicatorsFiltersContext}> <KibanaReactContext.Provider> - <BlockListProvider>{children}</BlockListProvider> + <MockSubscriptionTrackingProvider> + <BlockListProvider>{children}</BlockListProvider> + </MockSubscriptionTrackingProvider> </KibanaReactContext.Provider> </IndicatorsFiltersContext.Provider> </SecuritySolutionContext.Provider> diff --git a/x-pack/plugins/threat_intelligence/public/mocks/test_providers.tsx b/x-pack/plugins/threat_intelligence/public/mocks/test_providers.tsx index 37360284b6aa7..12c42052ee26f 100644 --- a/x-pack/plugins/threat_intelligence/public/mocks/test_providers.tsx +++ b/x-pack/plugins/threat_intelligence/public/mocks/test_providers.tsx @@ -17,6 +17,7 @@ import { unifiedSearchPluginMock } from '@kbn/unified-search-plugin/public/mocks import { createTGridMocks } from '@kbn/timelines-plugin/public/mock'; import { EuiThemeProvider } from '@kbn/kibana-react-plugin/common'; import { RequestAdapter } from '@kbn/inspector-plugin/common'; +import { MockSubscriptionTrackingProvider } from '@kbn/subscription-tracking/mocks'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { MemoryRouter } from 'react-router-dom'; import { casesPluginMock } from '@kbn/cases-plugin/public/mocks'; @@ -141,11 +142,13 @@ export const TestProvidersComponent: FC = ({ children }) => ( <EuiThemeProvider> <SecuritySolutionContext.Provider value={mockSecurityContext}> <KibanaContext.Provider value={{ services: mockedServices } as any}> - <I18nProvider> - <IndicatorsFiltersContext.Provider value={mockIndicatorsFiltersContext}> - {children} - </IndicatorsFiltersContext.Provider> - </I18nProvider> + <MockSubscriptionTrackingProvider> + <I18nProvider> + <IndicatorsFiltersContext.Provider value={mockIndicatorsFiltersContext}> + {children} + </IndicatorsFiltersContext.Provider> + </I18nProvider> + </MockSubscriptionTrackingProvider> </KibanaContext.Provider> </SecuritySolutionContext.Provider> </EuiThemeProvider> diff --git a/x-pack/plugins/threat_intelligence/public/plugin.tsx b/x-pack/plugins/threat_intelligence/public/plugin.tsx index 49f6b3b7724bf..e30e9f92c0a5b 100755 --- a/x-pack/plugins/threat_intelligence/public/plugin.tsx +++ b/x-pack/plugins/threat_intelligence/public/plugin.tsx @@ -11,6 +11,7 @@ import { Provider as ReduxStoreProvider } from 'react-redux'; import React, { Suspense } from 'react'; import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; import { ExternalReferenceAttachmentType } from '@kbn/cases-plugin/public/client/attachment_framework/types'; +import { SubscriptionTrackingProvider } from '@kbn/subscription-tracking'; import { generateAttachmentType } from './modules/cases/utils/attachments'; import { KibanaContextProvider } from './hooks/use_kibana'; import { @@ -43,11 +44,16 @@ export const createApp = <ReduxStoreProvider store={securitySolutionContext.securitySolutionStore}> <SecuritySolutionContext.Provider value={securitySolutionContext}> <KibanaContextProvider services={services}> - <EnterpriseGuard> - <Suspense fallback={<div />}> - <LazyIndicatorsPageWrapper /> - </Suspense> - </EnterpriseGuard> + <SubscriptionTrackingProvider + analyticsClient={services.analytics} + navigateToApp={services.application.navigateToApp} + > + <EnterpriseGuard> + <Suspense fallback={<div />}> + <LazyIndicatorsPageWrapper /> + </Suspense> + </EnterpriseGuard> + </SubscriptionTrackingProvider> </KibanaContextProvider> </SecuritySolutionContext.Provider> </ReduxStoreProvider> diff --git a/x-pack/plugins/threat_intelligence/tsconfig.json b/x-pack/plugins/threat_intelligence/tsconfig.json index 5576b8e2ea926..661186c943b54 100644 --- a/x-pack/plugins/threat_intelligence/tsconfig.json +++ b/x-pack/plugins/threat_intelligence/tsconfig.json @@ -1,7 +1,7 @@ { "extends": "../../../tsconfig.base.json", "compilerOptions": { - "outDir": "target/types", + "outDir": "target/types" }, "include": [ "common/**/*", @@ -32,9 +32,8 @@ "@kbn/utility-types", "@kbn/ui-theme", "@kbn/securitysolution-io-ts-list-types", - "@kbn/core-ui-settings-browser" + "@kbn/core-ui-settings-browser", + "@kbn/subscription-tracking" ], - "exclude": [ - "target/**/*", - ] + "exclude": ["target/**/*"] } diff --git a/yarn.lock b/yarn.lock index 8416457ad4a45..a743d2ee4a6ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5829,6 +5829,10 @@ version "0.0.0" uid "" +"@kbn/subscription-tracking@link:packages/kbn-subscription-tracking": + version "0.0.0" + uid "" + "@kbn/synthetics-plugin@link:x-pack/plugins/synthetics": version "0.0.0" uid "" From be01217b1967bb31ce06f6530bdd4c0705a6e5f9 Mon Sep 17 00:00:00 2001 From: Alison Goryachev <alison.goryachev@elastic.co> Date: Mon, 18 Sep 2023 12:37:02 -0400 Subject: [PATCH 092/149] [Index Management] Support data retention on Data Streams tab (#165263) --- x-pack/plugins/index_management/README.md | 29 +++- .../home/data_streams_tab.helpers.ts | 22 ++- .../home/data_streams_tab.test.ts | 44 +++--- .../common/lib/data_stream_serialization.ts | 10 +- .../common/types/data_streams.ts | 42 +++--- .../index_management/common/types/index.ts | 2 +- .../data_stream_detail_panel.tsx | 129 +++++++++++------- .../data_stream_table/data_stream_table.tsx | 33 ++++- .../api/data_streams/register_get_route.ts | 70 ++++------ .../translations/translations/fr-FR.json | 1 - .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - .../index_management/data_streams.ts | 9 ++ 13 files changed, 239 insertions(+), 154 deletions(-) diff --git a/x-pack/plugins/index_management/README.md b/x-pack/plugins/index_management/README.md index b50309ac36099..8ac2837a683b6 100644 --- a/x-pack/plugins/index_management/README.md +++ b/x-pack/plugins/index_management/README.md @@ -49,11 +49,34 @@ POST %25%7B%5B%40metadata%5D%5Bbeat%5D%7D-%25%7B%5B%40metadata%5D%5Bversion%5D%7 } ``` +Create a data stream configured with data stream lifecyle. + +``` +PUT _index_template/my-index-template +{ + "index_patterns": ["my-data-stream*"], + "data_stream": { }, + "priority": 500, + "template": { + "lifecycle": { + "data_retention": "7d" + } + }, + "_meta": { + "description": "Template with data stream lifecycle" + } +} +``` + +``` +PUT _data_stream/my-data-stream +``` + ## Index templates tab ### Quick steps for testing -**Legacy index templates** are only shown in the UI on stateful *and* if a user has existing legacy index templates. You can test this functionality by creating one in Console: +**Legacy index templates** are only shown in the UI on stateful _and_ if a user has existing legacy index templates. You can test this functionality by creating one in Console: ``` PUT _template/template_1 @@ -67,6 +90,7 @@ On serverless, Elasticsearch does not support legacy index templates and therefo To test **Cloud-managed templates**: 1. Add `cluster.metadata.managed_index_templates` setting via Dev Tools: + ``` PUT /_cluster/settings { @@ -77,6 +101,7 @@ PUT /_cluster/settings ``` 2. Create a template with the format: `.cloud-<template_name>` via Dev Tools. + ``` PUT _template/.cloud-example { @@ -101,4 +126,4 @@ In 7.x, the UI supports types defined as part of the mappings for legacy index t } } } -``` \ No newline at end of file +``` diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.helpers.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.helpers.ts index e38359a6d9f37..d9e6694d8ba8d 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.helpers.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.helpers.ts @@ -8,7 +8,6 @@ import { act } from 'react-dom/test-utils'; import { ReactWrapper } from 'enzyme'; -import { EuiDescriptionListDescription } from '@elastic/eui'; import { registerTestBed, TestBed, @@ -43,8 +42,9 @@ export interface DataStreamsTabTestBed extends TestBed<TestSubjects> { findDetailPanelTitle: () => string; findEmptyPromptIndexTemplateLink: () => ReactWrapper; findDetailPanelIlmPolicyLink: () => ReactWrapper; - findDetailPanelIlmPolicyName: () => ReactWrapper; + findDetailPanelIlmPolicyDetail: () => ReactWrapper; findDetailPanelIndexTemplateLink: () => ReactWrapper; + findDetailPanelDataRetentionDetail: () => ReactWrapper; } export const setup = async ( @@ -211,10 +211,14 @@ export const setup = async ( return find('indexTemplateLink'); }; - const findDetailPanelIlmPolicyName = () => { - const descriptionList = testBed.component.find(EuiDescriptionListDescription); - // ilm policy is the last in the details list - return descriptionList.last(); + const findDetailPanelIlmPolicyDetail = () => { + const { find } = testBed; + return find('ilmPolicyDetail'); + }; + + const findDetailPanelDataRetentionDetail = () => { + const { find } = testBed; + return find('dataRetentionDetail'); }; return { @@ -240,8 +244,9 @@ export const setup = async ( findDetailPanelTitle, findEmptyPromptIndexTemplateLink, findDetailPanelIlmPolicyLink, - findDetailPanelIlmPolicyName, + findDetailPanelIlmPolicyDetail, findDetailPanelIndexTemplateLink, + findDetailPanelDataRetentionDetail, }; }; @@ -264,6 +269,9 @@ export const createDataStreamPayload = (dataStream: Partial<DataStream>): DataSt delete_index: true, }, hidden: false, + lifecycle: { + data_retention: '7d', + }, ...dataStream, }); diff --git a/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.test.ts b/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.test.ts index 208bec0a1d6e6..f4e8221be1093 100644 --- a/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.test.ts +++ b/x-pack/plugins/index_management/__jest__/client_integration/home/data_streams_tab.test.ts @@ -170,8 +170,8 @@ describe('Data Streams tab', () => { const { tableCellsValues } = table.getMetaData('dataStreamTable'); expect(tableCellsValues).toEqual([ - ['', 'dataStream1', 'green', '1', 'Delete'], - ['', 'dataStream2', 'green', '1', 'Delete'], + ['', 'dataStream1', 'green', '1', '7d', 'Delete'], + ['', 'dataStream2', 'green', '1', '7d', 'Delete'], ]); }); @@ -209,8 +209,8 @@ describe('Data Streams tab', () => { // The table renders with the stats columns though. const { tableCellsValues } = table.getMetaData('dataStreamTable'); expect(tableCellsValues).toEqual([ - ['', 'dataStream1', 'green', 'December 31st, 1969 7:00:00 PM', '5b', '1', 'Delete'], - ['', 'dataStream2', 'green', 'December 31st, 1969 7:00:00 PM', '1kb', '1', 'Delete'], + ['', 'dataStream1', 'green', 'December 31st, 1969 7:00:00 PM', '5b', '1', '7d', 'Delete'], + ['', 'dataStream2', 'green', 'December 31st, 1969 7:00:00 PM', '1kb', '1', '7d', 'Delete'], ]); }); @@ -229,8 +229,8 @@ describe('Data Streams tab', () => { // the human-readable string values. const { tableCellsValues } = table.getMetaData('dataStreamTable'); expect(tableCellsValues).toEqual([ - ['', 'dataStream1', 'green', 'December 31st, 1969 7:00:00 PM', '5b', '1', 'Delete'], - ['', 'dataStream2', 'green', 'December 31st, 1969 7:00:00 PM', '1kb', '1', 'Delete'], + ['', 'dataStream1', 'green', 'December 31st, 1969 7:00:00 PM', '5b', '1', '7d', 'Delete'], + ['', 'dataStream2', 'green', 'December 31st, 1969 7:00:00 PM', '1kb', '1', '7d', 'Delete'], ]); }); @@ -335,6 +335,12 @@ describe('Data Streams tab', () => { expect(find('summaryTab').exists()).toBeTruthy(); expect(find('title').text().trim()).toBe('indexTemplate'); }); + + test('shows data retention detail when configured', async () => { + const { actions, findDetailPanelDataRetentionDetail } = testBed; + await actions.clickNameAt(0); + expect(findDetailPanelDataRetentionDetail().exists()).toBeTruthy(); + }); }); }); @@ -423,10 +429,10 @@ describe('Data Streams tab', () => { }); testBed.component.update(); - const { actions, findDetailPanelIlmPolicyLink, findDetailPanelIlmPolicyName } = testBed; + const { actions, findDetailPanelIlmPolicyLink, findDetailPanelIlmPolicyDetail } = testBed; await actions.clickNameAt(0); expect(findDetailPanelIlmPolicyLink().exists()).toBeFalsy(); - expect(findDetailPanelIlmPolicyName().contains('None')).toBeTruthy(); + expect(findDetailPanelIlmPolicyDetail().exists()).toBeFalsy(); }); test('without an ILM url locator and with an ILM policy', async () => { @@ -453,10 +459,10 @@ describe('Data Streams tab', () => { }); testBed.component.update(); - const { actions, findDetailPanelIlmPolicyLink, findDetailPanelIlmPolicyName } = testBed; + const { actions, findDetailPanelIlmPolicyLink, findDetailPanelIlmPolicyDetail } = testBed; await actions.clickNameAt(0); expect(findDetailPanelIlmPolicyLink().exists()).toBeFalsy(); - expect(findDetailPanelIlmPolicyName().contains('my_ilm_policy')).toBeTruthy(); + expect(findDetailPanelIlmPolicyDetail().contains('my_ilm_policy')).toBeTruthy(); }); }); @@ -489,8 +495,8 @@ describe('Data Streams tab', () => { const { tableCellsValues } = table.getMetaData('dataStreamTable'); expect(tableCellsValues).toEqual([ - ['', `managed-data-stream${nonBreakingSpace}Fleet-managed`, 'green', '1', 'Delete'], - ['', 'non-managed-data-stream', 'green', '1', 'Delete'], + ['', `managed-data-stream${nonBreakingSpace}Fleet-managed`, 'green', '1', '7d', 'Delete'], + ['', 'non-managed-data-stream', 'green', '1', '7d', 'Delete'], ]); }); @@ -499,14 +505,16 @@ describe('Data Streams tab', () => { let { tableCellsValues } = table.getMetaData('dataStreamTable'); expect(tableCellsValues).toEqual([ - ['', `managed-data-stream${nonBreakingSpace}Fleet-managed`, 'green', '1', 'Delete'], - ['', 'non-managed-data-stream', 'green', '1', 'Delete'], + ['', `managed-data-stream${nonBreakingSpace}Fleet-managed`, 'green', '1', '7d', 'Delete'], + ['', 'non-managed-data-stream', 'green', '1', '7d', 'Delete'], ]); actions.toggleViewFilterAt(0); ({ tableCellsValues } = table.getMetaData('dataStreamTable')); - expect(tableCellsValues).toEqual([['', 'non-managed-data-stream', 'green', '1', 'Delete']]); + expect(tableCellsValues).toEqual([ + ['', 'non-managed-data-stream', 'green', '1', '7d', 'Delete'], + ]); }); }); @@ -537,7 +545,7 @@ describe('Data Streams tab', () => { const { tableCellsValues } = table.getMetaData('dataStreamTable'); expect(tableCellsValues).toEqual([ - ['', `hidden-data-stream${nonBreakingSpace}Hidden`, 'green', '1', 'Delete'], + ['', `hidden-data-stream${nonBreakingSpace}Hidden`, 'green', '1', '7d', 'Delete'], ]); }); }); @@ -570,8 +578,8 @@ describe('Data Streams tab', () => { const { tableCellsValues } = table.getMetaData('dataStreamTable'); expect(tableCellsValues).toEqual([ - ['', 'dataStreamNoDelete', 'green', '1', ''], - ['', 'dataStreamWithDelete', 'green', '1', 'Delete'], + ['', 'dataStreamNoDelete', 'green', '1', '7d', ''], + ['', 'dataStreamWithDelete', 'green', '1', '7d', 'Delete'], ]); }); diff --git a/x-pack/plugins/index_management/common/lib/data_stream_serialization.ts b/x-pack/plugins/index_management/common/lib/data_stream_serialization.ts index 5c27c16946325..78593b40b5eaa 100644 --- a/x-pack/plugins/index_management/common/lib/data_stream_serialization.ts +++ b/x-pack/plugins/index_management/common/lib/data_stream_serialization.ts @@ -5,9 +5,9 @@ * 2.0. */ -import { DataStream, DataStreamFromEs, Health } from '../types'; +import { DataStream, EnhancedDataStreamFromEs, Health } from '../types'; -export function deserializeDataStream(dataStreamFromEs: DataStreamFromEs): DataStream { +export function deserializeDataStream(dataStreamFromEs: EnhancedDataStreamFromEs): DataStream { const { name, timestamp_field: timeStampField, @@ -22,6 +22,7 @@ export function deserializeDataStream(dataStreamFromEs: DataStreamFromEs): DataS _meta, privileges, hidden, + lifecycle, } = dataStreamFromEs; return { @@ -44,9 +45,12 @@ export function deserializeDataStream(dataStreamFromEs: DataStreamFromEs): DataS _meta, privileges, hidden, + lifecycle, }; } -export function deserializeDataStreamList(dataStreamsFromEs: DataStreamFromEs[]): DataStream[] { +export function deserializeDataStreamList( + dataStreamsFromEs: EnhancedDataStreamFromEs[] +): DataStream[] { return dataStreamsFromEs.map((dataStream) => deserializeDataStream(dataStream)); } diff --git a/x-pack/plugins/index_management/common/types/data_streams.ts b/x-pack/plugins/index_management/common/types/data_streams.ts index 7ac08f6684466..88e4bc237e819 100644 --- a/x-pack/plugins/index_management/common/types/data_streams.ts +++ b/x-pack/plugins/index_management/common/types/data_streams.ts @@ -5,20 +5,20 @@ * 2.0. */ +import { + ByteSize, + IndicesDataLifecycleWithRollover, + IndicesDataStream, + IndicesDataStreamsStatsDataStreamsStatsItem, + Metadata, +} from '@elastic/elasticsearch/lib/api/types'; + interface TimestampFieldFromEs { name: string; } type TimestampField = TimestampFieldFromEs; -interface MetaFromEs { - managed_by: string; - package: any; - managed: boolean; -} - -type Meta = MetaFromEs; - interface PrivilegesFromEs { delete_index: boolean; } @@ -27,20 +27,13 @@ type Privileges = PrivilegesFromEs; export type HealthFromEs = 'GREEN' | 'YELLOW' | 'RED'; -export interface DataStreamFromEs { - name: string; - timestamp_field: TimestampFieldFromEs; - indices: DataStreamIndexFromEs[]; - generation: number; - _meta?: MetaFromEs; - status: HealthFromEs; - template: string; - ilm_policy?: string; - store_size?: string; - store_size_bytes?: number; - maximum_timestamp?: number; - privileges: PrivilegesFromEs; - hidden: boolean; +export interface EnhancedDataStreamFromEs extends IndicesDataStream { + store_size?: IndicesDataStreamsStatsDataStreamsStatsItem['store_size']; + store_size_bytes?: IndicesDataStreamsStatsDataStreamsStatsItem['store_size_bytes']; + maximum_timestamp?: IndicesDataStreamsStatsDataStreamsStatsItem['maximum_timestamp']; + privileges: { + delete_index: boolean; + }; } export interface DataStreamIndexFromEs { @@ -58,12 +51,13 @@ export interface DataStream { health: Health; indexTemplateName: string; ilmPolicyName?: string; - storageSize?: string; + storageSize?: ByteSize; storageSizeBytes?: number; maxTimeStamp?: number; - _meta?: Meta; + _meta?: Metadata; privileges: Privileges; hidden: boolean; + lifecycle?: IndicesDataLifecycleWithRollover; } export interface DataStreamIndex { diff --git a/x-pack/plugins/index_management/common/types/index.ts b/x-pack/plugins/index_management/common/types/index.ts index ce5d96a842366..f3f2315cdd15b 100644 --- a/x-pack/plugins/index_management/common/types/index.ts +++ b/x-pack/plugins/index_management/common/types/index.ts @@ -13,7 +13,7 @@ export * from './mappings'; export * from './templates'; -export type { DataStreamFromEs, Health, DataStream, DataStreamIndex } from './data_streams'; +export type { EnhancedDataStreamFromEs, Health, DataStream, DataStreamIndex } from './data_streams'; export * from './component_templates'; diff --git a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_detail_panel/data_stream_detail_panel.tsx b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_detail_panel/data_stream_detail_panel.tsx index d3d8b0bc64baf..28fc4a5f15218 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_detail_panel/data_stream_detail_panel.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_detail_panel/data_stream_detail_panel.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useState } from 'react'; +import React, { useState, Fragment } from 'react'; import { i18n } from '@kbn/i18n'; import { EuiButton, @@ -41,24 +41,16 @@ interface DetailsListProps { name: string; toolTip: string; content: any; + dataTestSubj: string; }>; } const DetailsList: React.FunctionComponent<DetailsListProps> = ({ details }) => { - const groups: any[] = []; - let items: any[]; + const descriptionListItems = details.map((detail, index) => { + const { name, toolTip, content, dataTestSubj } = detail; - details.forEach((detail, index) => { - const { name, toolTip, content } = detail; - - if (index % 2 === 0) { - items = []; - - groups.push(<EuiFlexGroup key={groups.length}>{items}</EuiFlexGroup>); - } - - items.push( - <EuiFlexItem key={name}> + return ( + <Fragment key={`${name}-${index}`}> <EuiDescriptionListTitle> <EuiFlexGroup alignItems="center" gutterSize="s"> <EuiFlexItem grow={false}>{name}</EuiFlexItem> @@ -69,12 +61,27 @@ const DetailsList: React.FunctionComponent<DetailsListProps> = ({ details }) => </EuiFlexGroup> </EuiDescriptionListTitle> - <EuiDescriptionListDescription>{content}</EuiDescriptionListDescription> - </EuiFlexItem> + <EuiDescriptionListDescription data-test-subj={dataTestSubj}> + {content} + </EuiDescriptionListDescription> + </Fragment> ); }); - return <EuiDescriptionList textStyle="reverse">{groups}</EuiDescriptionList>; + const midpoint = Math.ceil(descriptionListItems.length / 2); + const descriptionListColumnOne = descriptionListItems.slice(0, midpoint); + const descriptionListColumnTwo = descriptionListItems.slice(-midpoint); + + return ( + <EuiFlexGroup> + <EuiFlexItem> + <EuiDescriptionList textStyle="reverse">{descriptionListColumnOne}</EuiDescriptionList> + </EuiFlexItem> + <EuiFlexItem> + <EuiDescriptionList textStyle="reverse">{descriptionListColumnTwo}</EuiDescriptionList> + </EuiFlexItem> + </EuiFlexGroup> + ); }; interface Props { @@ -123,23 +130,64 @@ export const DataStreamDetailPanel: React.FunctionComponent<Props> = ({ ilmPolicyName, storageSize, maxTimeStamp, + lifecycle, } = dataStream; - const details = [ + + const getManagementDetails = () => { + const managementDetails = []; + + if (lifecycle?.data_retention) { + managementDetails.push({ + name: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.dataRetentionTitle', { + defaultMessage: 'Data retention', + }), + toolTip: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.dataRetentionToolTip', { + defaultMessage: 'The amount of time to retain the data in the data stream.', + }), + content: lifecycle.data_retention, + dataTestSubj: 'dataRetentionDetail', + }); + } + + if (ilmPolicyName) { + managementDetails.push({ + name: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyTitle', { + defaultMessage: 'Index lifecycle policy', + }), + toolTip: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyToolTip', { + defaultMessage: `The index lifecycle policy that manages the data in the data stream.`, + }), + content: ilmPolicyLink ? ( + <EuiLink data-test-subj={'ilmPolicyLink'} href={ilmPolicyLink}> + {ilmPolicyName} + </EuiLink> + ) : ( + ilmPolicyName + ), + dataTestSubj: 'ilmPolicyDetail', + }); + } + + return managementDetails; + }; + + const defaultDetails = [ { name: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.healthTitle', { defaultMessage: 'Health', }), toolTip: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.healthToolTip', { - defaultMessage: `The health of the data stream's current backing indices`, + defaultMessage: `The health of the data stream's current backing indices.`, }), content: <DataHealth health={health} />, + dataTestSubj: 'healthDetail', }, { name: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.maxTimeStampTitle', { defaultMessage: 'Last updated', }), toolTip: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.maxTimeStampToolTip', { - defaultMessage: 'The most recent document to be added to the data stream', + defaultMessage: 'The most recent document to be added to the data stream.', }), content: maxTimeStamp ? ( humanizeTimeStamp(maxTimeStamp) @@ -150,22 +198,24 @@ export const DataStreamDetailPanel: React.FunctionComponent<Props> = ({ })} </em> ), + dataTestSubj: 'lastUpdatedDetail', }, { name: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.storageSizeTitle', { defaultMessage: 'Storage size', }), toolTip: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.storageSizeToolTip', { - defaultMessage: `Total size of all shards in the data stream’s backing indices`, + defaultMessage: `The total size of all shards in the data stream’s backing indices.`, }), content: storageSize, + dataTestSubj: 'storageSizeDetail', }, { name: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.indicesTitle', { defaultMessage: 'Indices', }), toolTip: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.indicesToolTip', { - defaultMessage: `The data stream's current backing indices`, + defaultMessage: `The data stream's current backing indices.`, }), content: ( <EuiLink @@ -177,24 +227,27 @@ export const DataStreamDetailPanel: React.FunctionComponent<Props> = ({ {indices.length} </EuiLink> ), + dataTestSubj: 'indicesDetail', }, { name: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.timestampFieldTitle', { defaultMessage: 'Timestamp field', }), toolTip: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.timestampFieldToolTip', { - defaultMessage: 'Timestamp field shared by all documents in the data stream', + defaultMessage: 'The timestamp field shared by all documents in the data stream.', }), content: timeStampField.name, + dataTestSubj: 'timestampDetail', }, { name: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.generationTitle', { defaultMessage: 'Generation', }), toolTip: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.generationToolTip', { - defaultMessage: 'Cumulative count of backing indices created for the data stream', + defaultMessage: 'The number of backing indices generated for the data stream.', }), content: generation, + dataTestSubj: 'generationDetail', }, { name: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.indexTemplateTitle', { @@ -202,7 +255,7 @@ export const DataStreamDetailPanel: React.FunctionComponent<Props> = ({ }), toolTip: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.indexTemplateToolTip', { defaultMessage: - 'The index template that configured the data stream and configures its backing indices', + 'The index template that configured the data stream and configures its backing indices.', }), content: ( <EuiLink @@ -212,31 +265,13 @@ export const DataStreamDetailPanel: React.FunctionComponent<Props> = ({ {indexTemplateName} </EuiLink> ), - }, - { - name: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyTitle', { - defaultMessage: 'Index lifecycle policy', - }), - toolTip: i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyToolTip', { - defaultMessage: `The index lifecycle policy that manages the data stream's data`, - }), - content: - ilmPolicyName && ilmPolicyLink ? ( - <EuiLink data-test-subj={'ilmPolicyLink'} href={ilmPolicyLink}> - {ilmPolicyName} - </EuiLink> - ) : ( - ilmPolicyName || ( - <em> - {i18n.translate('xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyContentNoneMessage', { - defaultMessage: `None`, - })} - </em> - ) - ), + dataTestSubj: 'indexTemplateDetail', }, ]; + const managementDetails = getManagementDetails(); + const details = [...defaultDetails, ...managementDetails]; + content = <DetailsList details={details} />; } diff --git a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_table/data_stream_table.tsx b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_table/data_stream_table.tsx index 8e070ae7fe125..d67922f3cdcbc 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_table/data_stream_table.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_table/data_stream_table.tsx @@ -8,7 +8,14 @@ import React, { useState, Fragment } from 'react'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; -import { EuiInMemoryTable, EuiBasicTableColumn, EuiButton, EuiLink } from '@elastic/eui'; +import { + EuiInMemoryTable, + EuiBasicTableColumn, + EuiButton, + EuiLink, + EuiIcon, + EuiToolTip, +} from '@elastic/eui'; import { ScopedHistory } from '@kbn/core/public'; import { DataStream } from '../../../../../../common/types'; @@ -71,7 +78,6 @@ export const DataStreamTable: React.FunctionComponent<Props> = ({ render: (health: DataStream['health']) => { return <DataHealth health={health} />; }, - width: '100px', }); if (includeStats) { @@ -80,7 +86,6 @@ export const DataStreamTable: React.FunctionComponent<Props> = ({ name: i18n.translate('xpack.idxMgmt.dataStreamList.table.maxTimeStampColumnTitle', { defaultMessage: 'Last updated', }), - width: '300px', truncateText: true, sortable: true, render: (maxTimeStamp: DataStream['maxTimeStamp']) => @@ -120,6 +125,28 @@ export const DataStreamTable: React.FunctionComponent<Props> = ({ ), }); + columns.push({ + field: 'lifecycle', + name: ( + <EuiToolTip + content={i18n.translate('xpack.idxMgmt.dataStreamList.table.dataRetentionColumnTooltip', { + defaultMessage: + 'Data will be be kept at least this long before it is automatically deleted. Only applies to data streams managed by a data stream lifecycle. This value might not apply to all data if the data stream also has an index lifecycle policy.', + })} + > + <span> + {i18n.translate('xpack.idxMgmt.dataStreamList.table.dataRetentionColumnTitle', { + defaultMessage: 'Data retention', + })}{' '} + <EuiIcon size="s" color="subdued" type="questionInCircle" /> + </span> + </EuiToolTip> + ), + truncateText: true, + sortable: true, + render: (lifecycle: DataStream['lifecycle']) => lifecycle?.data_retention, + }); + columns.push({ name: i18n.translate('xpack.idxMgmt.dataStreamList.table.actionColumnTitle', { defaultMessage: 'Actions', diff --git a/x-pack/plugins/index_management/server/routes/api/data_streams/register_get_route.ts b/x-pack/plugins/index_management/server/routes/api/data_streams/register_get_route.ts index a562cc5f4cc52..0b33fb2a2b5ad 100644 --- a/x-pack/plugins/index_management/server/routes/api/data_streams/register_get_route.ts +++ b/x-pack/plugins/index_management/server/routes/api/data_streams/register_get_route.ts @@ -8,55 +8,28 @@ import { schema, TypeOf } from '@kbn/config-schema'; import { IScopedClusterClient } from '@kbn/core/server'; +import { + IndicesDataStream, + IndicesDataStreamsStatsDataStreamsStatsItem, + SecurityHasPrivilegesResponse, +} from '@elastic/elasticsearch/lib/api/types'; import { deserializeDataStream, deserializeDataStreamList } from '../../../../common/lib'; -import { DataStreamFromEs } from '../../../../common/types'; +import { EnhancedDataStreamFromEs } from '../../../../common/types'; import { RouteDependencies } from '../../../types'; import { addBasePath } from '..'; -interface PrivilegesFromEs { - username: string; - has_all_requested: boolean; - cluster: Record<string, boolean>; - index: Record<string, Record<string, boolean>>; - application: Record<string, boolean>; -} - -interface StatsFromEs { - data_stream: string; - store_size: string; - store_size_bytes: number; - maximum_timestamp: number; -} - const enhanceDataStreams = ({ dataStreams, dataStreamsStats, dataStreamsPrivileges, }: { - dataStreams: DataStreamFromEs[]; - dataStreamsStats?: StatsFromEs[]; - dataStreamsPrivileges?: PrivilegesFromEs; -}): DataStreamFromEs[] => { - return dataStreams.map((dataStream: DataStreamFromEs) => { - let enhancedDataStream = { ...dataStream }; - - if (dataStreamsStats) { - // eslint-disable-next-line @typescript-eslint/naming-convention - const { store_size, store_size_bytes, maximum_timestamp } = - dataStreamsStats.find( - ({ data_stream: statsName }: { data_stream: string }) => statsName === dataStream.name - ) || {}; - - enhancedDataStream = { - ...enhancedDataStream, - store_size, - store_size_bytes, - maximum_timestamp, - }; - } - - enhancedDataStream = { - ...enhancedDataStream, + dataStreams: IndicesDataStream[]; + dataStreamsStats?: IndicesDataStreamsStatsDataStreamsStatsItem[]; + dataStreamsPrivileges?: SecurityHasPrivilegesResponse; +}): EnhancedDataStreamFromEs[] => { + return dataStreams.map((dataStream) => { + const enhancedDataStream: EnhancedDataStreamFromEs = { + ...dataStream, privileges: { delete_index: dataStreamsPrivileges ? dataStreamsPrivileges.index[dataStream.name].delete_index @@ -64,6 +37,17 @@ const enhanceDataStreams = ({ }, }; + if (dataStreamsStats) { + const currentDataStreamStats: IndicesDataStreamsStatsDataStreamsStatsItem | undefined = + dataStreamsStats.find(({ data_stream: statsName }) => statsName === dataStream.name); + + if (currentDataStreamStats) { + enhancedDataStream.store_size = currentDataStreamStats.store_size; + enhancedDataStream.store_size_bytes = currentDataStreamStats.store_size_bytes; + enhancedDataStream.maximum_timestamp = currentDataStreamStats.maximum_timestamp; + } + } + return enhancedDataStream; }); }; @@ -125,11 +109,8 @@ export function registerGetAllRoute({ router, lib: { handleEsError }, config }: } const enhancedDataStreams = enhanceDataStreams({ - // @ts-expect-error DataStreamFromEs conflicts with @elastic/elasticsearch IndicesGetDataStreamIndicesGetDataStreamItem dataStreams, - // @ts-expect-error StatsFromEs conflicts with @elastic/elasticsearch IndicesDataStreamsStatsDataStreamsStatsItem dataStreamsStats, - // @ts-expect-error PrivilegesFromEs conflicts with @elastic/elasticsearch ApplicationsPrivileges dataStreamsPrivileges, }); @@ -164,11 +145,8 @@ export function registerGetOneRoute({ router, lib: { handleEsError }, config }: } const enhancedDataStreams = enhanceDataStreams({ - // @ts-expect-error DataStreamFromEs conflicts with @elastic/elasticsearch IndicesGetDataStreamIndicesGetDataStreamItem dataStreams, - // @ts-expect-error StatsFromEs conflicts with @elastic/elasticsearch IndicesDataStreamsStatsDataStreamsStatsItem dataStreamsStats, - // @ts-expect-error PrivilegesFromEs conflicts with @elastic/elasticsearch ApplicationsPrivileges dataStreamsPrivileges, }); const body = deserializeDataStream(enhancedDataStreams[0]); diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index fb4219e6052f4..50e6763aad805 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -17347,7 +17347,6 @@ "xpack.idxMgmt.dataStreamDetailPanel.generationToolTip": "Nombre cumulatif d'index de sauvegarde créés pour le flux de données", "xpack.idxMgmt.dataStreamDetailPanel.healthTitle": "Intégrité", "xpack.idxMgmt.dataStreamDetailPanel.healthToolTip": "Intégrité des index de sauvegarde actuels du flux de données", - "xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyContentNoneMessage": "Aucun", "xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyTitle": "Stratégie de cycle de vie des index", "xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyToolTip": "Stratégie de cycle de vie de l'index qui gère les données du flux de données", "xpack.idxMgmt.dataStreamDetailPanel.indexTemplateTitle": "Modèle d'index", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 9c1bd25593a47..d2b3c60becf20 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -17361,7 +17361,6 @@ "xpack.idxMgmt.dataStreamDetailPanel.generationToolTip": "データストリームに作成されたバッキングインデックスの累積数", "xpack.idxMgmt.dataStreamDetailPanel.healthTitle": "ヘルス", "xpack.idxMgmt.dataStreamDetailPanel.healthToolTip": "データストリームの現在のバッキングインデックスのヘルス", - "xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyContentNoneMessage": "なし", "xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyTitle": "インデックスライフサイクルポリシー", "xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyToolTip": "データストリームのデータを管理するインデックスライフサイクルポリシー", "xpack.idxMgmt.dataStreamDetailPanel.indexTemplateTitle": "インデックステンプレート", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 75fcb531da66a..21a7856a7baa3 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -17361,7 +17361,6 @@ "xpack.idxMgmt.dataStreamDetailPanel.generationToolTip": "为数据流创建的后备索引的累积计数", "xpack.idxMgmt.dataStreamDetailPanel.healthTitle": "运行状况", "xpack.idxMgmt.dataStreamDetailPanel.healthToolTip": "数据流的当前后备索引的运行状况", - "xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyContentNoneMessage": "无", "xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyTitle": "索引生命周期策略", "xpack.idxMgmt.dataStreamDetailPanel.ilmPolicyToolTip": "用于管理数据流数据的索引生命周期策略", "xpack.idxMgmt.dataStreamDetailPanel.indexTemplateTitle": "索引模板", diff --git a/x-pack/test/api_integration/apis/management/index_management/data_streams.ts b/x-pack/test/api_integration/apis/management/index_management/data_streams.ts index 0117204343285..520396ad46283 100644 --- a/x-pack/test/api_integration/apis/management/index_management/data_streams.ts +++ b/x-pack/test/api_integration/apis/management/index_management/data_streams.ts @@ -112,6 +112,9 @@ export default function ({ getService }: FtrProviderContext) { expect(testDataStream).to.eql({ name: testDataStreamName, + lifecycle: { + enabled: true, + }, privileges: { delete_index: true, }, @@ -166,6 +169,9 @@ export default function ({ getService }: FtrProviderContext) { indexTemplateName: testDataStreamName, maxTimeStamp: 0, hidden: false, + lifecycle: { + enabled: true, + }, }); }); @@ -197,6 +203,9 @@ export default function ({ getService }: FtrProviderContext) { indexTemplateName: testDataStreamName, maxTimeStamp: 0, hidden: false, + lifecycle: { + enabled: true, + }, }); }); }); From 3b25d5adad78554db78f836ffbebfce04712bf2d Mon Sep 17 00:00:00 2001 From: Alison Goryachev <alison.goryachev@elastic.co> Date: Mon, 18 Sep 2023 12:46:46 -0400 Subject: [PATCH 093/149] [Ingest Pipelines] Re-enable API integration test (#166115) --- .../apis/management/ingest_pipelines/lib/api.ts | 8 +++++++- .../test_suites/common/ingest_pipelines.ts | 3 +-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/x-pack/test/api_integration/apis/management/ingest_pipelines/lib/api.ts b/x-pack/test/api_integration/apis/management/ingest_pipelines/lib/api.ts index 1e185b88b7587..04d157e79fe65 100644 --- a/x-pack/test/api_integration/apis/management/ingest_pipelines/lib/api.ts +++ b/x-pack/test/api_integration/apis/management/ingest_pipelines/lib/api.ts @@ -55,8 +55,14 @@ export function IngestPipelinesAPIProvider({ getService }: FtrProviderContext) { }, async createIndex(index: { index: string; id: string; body: object }) { - log.debug(`Creating index: '${index.index}'`); + const indexExists = await es.indices.exists({ index: index.index }); + + // Index should not exist, but in the case that it already does, we bypass the create request + if (indexExists) { + return; + } + log.debug(`Creating index: '${index.index}'`); return await es.index(index); }, diff --git a/x-pack/test_serverless/api_integration/test_suites/common/ingest_pipelines.ts b/x-pack/test_serverless/api_integration/test_suites/common/ingest_pipelines.ts index 3a1ffba020246..1e5ee6d39bb71 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/ingest_pipelines.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/ingest_pipelines.ts @@ -350,8 +350,7 @@ export default function ({ getService }: FtrProviderContext) { }); }); - // FLAKY: https://github.com/elastic/kibana/issues/165539 - describe.skip('Fetch documents', () => { + describe('Fetch documents', () => { const INDEX = 'test_index'; const DOCUMENT_ID = '1'; const DOCUMENT = { From 2a4cb333eca912c15c794402f934352e7df73842 Mon Sep 17 00:00:00 2001 From: Kevin Delemme <kevin.delemme@elastic.co> Date: Mon, 18 Sep 2023 13:33:23 -0400 Subject: [PATCH 094/149] fix(tests): serverless observability flaky test (#166205) --- .../test_suites/observability/cases/configure.ts | 6 ++++-- .../test_suites/observability/landing_page.ts | 12 ++++++++++-- .../test_suites/observability/navigation.ts | 9 +++++++-- 3 files changed, 21 insertions(+), 6 deletions(-) diff --git a/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts b/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts index e0296f26e773e..91d5072a8162c 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/cases/configure.ts @@ -24,8 +24,6 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { await svlObltNavigation.navigateToLandingPage(); await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'observability-overview:cases' }); - - await common.clickAndValidate('configure-case-button', 'case-configure-title'); }); after(async () => { @@ -34,6 +32,10 @@ export default ({ getPageObject, getService }: FtrProviderContext) => { }); describe('Closure options', function () { + before(async () => { + await common.clickAndValidate('configure-case-button', 'case-configure-title'); + }); + it('defaults the closure option correctly', async () => { await cases.common.assertRadioGroupValue('closure-options-radio-group', 'close-by-user'); }); diff --git a/x-pack/test_serverless/functional/test_suites/observability/landing_page.ts b/x-pack/test_serverless/functional/test_suites/observability/landing_page.ts index 08b3879d5f6d3..68263e5ce2c39 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/landing_page.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/landing_page.ts @@ -9,11 +9,19 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getPageObject, getService }: FtrProviderContext) { const svlObltOnboardingPage = getPageObject('svlObltOnboardingPage'); + const svlCommonPage = getPageObject('svlCommonPage'); const svlObltNavigation = getService('svlObltNavigation'); const SvlObltOnboardingStreamLogFilePage = getPageObject('SvlObltOnboardingStreamLogFilePage'); - // FLAKY: https://github.com/elastic/kibana/issues/165885 - describe.skip('landing page', function () { + describe('landing page', function () { + before(async () => { + await svlCommonPage.login(); + }); + + after(async () => { + await svlCommonPage.forceLogout(); + }); + it('has quickstart badge', async () => { await svlObltNavigation.navigateToLandingPage(); await svlObltOnboardingPage.assertQuickstartBadgeExists(); diff --git a/x-pack/test_serverless/functional/test_suites/observability/navigation.ts b/x-pack/test_serverless/functional/test_suites/observability/navigation.ts index b2761fbaa7f3e..57b636efa6a75 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/navigation.ts +++ b/x-pack/test_serverless/functional/test_suites/observability/navigation.ts @@ -11,15 +11,20 @@ import { FtrProviderContext } from '../../ftr_provider_context'; export default function ({ getPageObject, getService }: FtrProviderContext) { const svlObltOnboardingPage = getPageObject('svlObltOnboardingPage'); const svlObltNavigation = getService('svlObltNavigation'); + const svlCommonPage = getPageObject('svlCommonPage'); const svlCommonNavigation = getPageObject('svlCommonNavigation'); const browser = getService('browser'); - // Failing: See https://github.com/elastic/kibana/issues/165924 - describe.skip('navigation', function () { + describe('navigation', function () { before(async () => { + await svlCommonPage.login(); await svlObltNavigation.navigateToLandingPage(); }); + after(async () => { + await svlCommonPage.forceLogout(); + }); + it('navigate observability sidenav & breadcrumbs', async () => { const expectNoPageReload = await svlCommonNavigation.createNoPageReloadCheck(); From 6d47334528b8f409eb1ab10c3e9a0f679dc61d86 Mon Sep 17 00:00:00 2001 From: Drew Tate <drew.tate@elastic.co> Date: Mon, 18 Sep 2023 11:45:06 -0600 Subject: [PATCH 095/149] [Event annotations] add more API integration tests (#166463) ## Summary Covers the event annotations API in tests. Part of https://github.com/elastic/kibana/issues/159053 Part of https://github.com/elastic/kibana/issues/161038 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../content_management/v1/cm_services.ts | 1 - .../common/content_management/v1/types.ts | 2 - src/plugins/event_annotation/common/index.ts | 6 + .../event_annotation_group_storage.ts | 1 - .../event_annotations/event_annotations.ts | 358 +++++++++++++++++- .../event_annotations/event_annotations.json | 98 ++++- test/tsconfig.json | 3 +- 7 files changed, 435 insertions(+), 34 deletions(-) diff --git a/src/plugins/event_annotation/common/content_management/v1/cm_services.ts b/src/plugins/event_annotation/common/content_management/v1/cm_services.ts index 8da6efc7c7f08..f5f7b0ac83b0e 100644 --- a/src/plugins/event_annotation/common/content_management/v1/cm_services.ts +++ b/src/plugins/event_annotation/common/content_management/v1/cm_services.ts @@ -79,7 +79,6 @@ const getResultSchema = schema.object( ); const createOptionsSchema = schema.object({ - overwrite: schema.maybe(schema.boolean()), references: schema.maybe(referencesSchema), }); diff --git a/src/plugins/event_annotation/common/content_management/v1/types.ts b/src/plugins/event_annotation/common/content_management/v1/types.ts index 67ba080a78151..5996a6f0db455 100644 --- a/src/plugins/event_annotation/common/content_management/v1/types.ts +++ b/src/plugins/event_annotation/common/content_management/v1/types.ts @@ -79,8 +79,6 @@ export type EventAnnotationGroupGetOut = GetResult< // ----------- CREATE -------------- export interface CreateOptions { - /** If a document with the given `id` already exists, overwrite it's contents (default=false). */ - overwrite?: boolean; /** Array of referenced saved objects. */ references?: Reference[]; } diff --git a/src/plugins/event_annotation/common/index.ts b/src/plugins/event_annotation/common/index.ts index cb30e43060cfb..a99204be39694 100644 --- a/src/plugins/event_annotation/common/index.ts +++ b/src/plugins/event_annotation/common/index.ts @@ -27,10 +27,16 @@ export type { FetchEventAnnotationsArgs } from './fetch_event_annotations/types' export type { EventAnnotationArgs, EventAnnotationOutput } from './types'; export type { + EventAnnotationGroupGetIn, + EventAnnotationGroupGetOut, EventAnnotationGroupSavedObjectAttributes, EventAnnotationGroupCreateIn, + EventAnnotationGroupCreateOut, EventAnnotationGroupUpdateIn, EventAnnotationGroupSearchIn, + EventAnnotationGroupSearchOut, + EventAnnotationGroupDeleteIn, + EventAnnotationGroupDeleteOut, } from './content_management'; export { CONTENT_ID } from './content_management'; export { ANNOTATIONS_LISTING_VIEW_ID } from './constants'; diff --git a/src/plugins/event_annotation/server/content_management/event_annotation_group_storage.ts b/src/plugins/event_annotation/server/content_management/event_annotation_group_storage.ts index f71e9cd72b43b..dcb25deb71140 100644 --- a/src/plugins/event_annotation/server/content_management/event_annotation_group_storage.ts +++ b/src/plugins/event_annotation/server/content_management/event_annotation_group_storage.ts @@ -121,7 +121,6 @@ export class EventAnnotationGroupStorage const transforms = getTransforms(cmServicesDefinition, requestVersion); const soClient = await savedObjectClientFromRequest(ctx); - // Save data in DB const { saved_object: savedObject, alias_purpose: aliasPurpose, diff --git a/test/api_integration/apis/event_annotations/event_annotations.ts b/test/api_integration/apis/event_annotations/event_annotations.ts index fda97881f3d9b..fc4a313279b02 100644 --- a/test/api_integration/apis/event_annotations/event_annotations.ts +++ b/test/api_integration/apis/event_annotations/event_annotations.ts @@ -10,18 +10,29 @@ import expect from '@kbn/expect'; import type { EventAnnotationGroupSavedObjectAttributes, EventAnnotationGroupCreateIn, + EventAnnotationGroupCreateOut, EventAnnotationGroupUpdateIn, EventAnnotationGroupSearchIn, + EventAnnotationGroupSearchOut, + EventAnnotationGroupGetIn, + EventAnnotationGroupGetOut, + EventAnnotationGroupDeleteIn, + EventAnnotationGroupDeleteOut, } from '@kbn/event-annotation-plugin/common'; import { CONTENT_ID } from '@kbn/event-annotation-plugin/common'; +import { EVENT_ANNOTATION_GROUP_TYPE } from '@kbn/event-annotation-common'; import { FtrProviderContext } from '../../ftr_provider_context'; const CONTENT_ENDPOINT = '/api/content_management/rpc'; const API_VERSION = 1; -const EXISTING_ID_1 = 'fcebef20-3ba4-11ee-85d3-3dd00bdd66ef'; // from loaded archive -const EXISTING_ID_2 = '0d1aa670-3baf-11ee-a4a7-c11cb33a9549'; // from loaded archive +// IDs come from from loaded archive +const EXISTING_ID_1 = '46c2a460-4e77-11ee-bb97-116581699678'; +const EXISTING_ID_2 = '425d2760-4e77-11ee-bb97-116581699678'; +const DESCRIPTION_2 = 'i am a description you can search for!'; +const EXISTING_ID_3 = '3905a4d0-4e77-11ee-bb97-116581699678'; +const TAG_ID = '36a8f020-4e77-11ee-bb97-116581699678'; const DEFAULT_EVENT_ANNOTATION_GROUP: EventAnnotationGroupSavedObjectAttributes = { title: 'a group', @@ -56,6 +67,8 @@ export default function ({ getService }: FtrProviderContext) { describe('group API', () => { before(async () => { + await kibanaServer.savedObjects.clean({ types: [EVENT_ANNOTATION_GROUP_TYPE] }); + await kibanaServer.importExport.load( 'test/api_integration/fixtures/kbn_archiver/event_annotations/event_annotations.json' ); @@ -65,10 +78,79 @@ export default function ({ getService }: FtrProviderContext) { await kibanaServer.importExport.unload( 'test/api_integration/fixtures/kbn_archiver/event_annotations/event_annotations.json' ); + + await kibanaServer.savedObjects.clean({ types: [EVENT_ANNOTATION_GROUP_TYPE] }); + }); + + describe('get', () => { + it(`should retrieve an existing group`, async () => { + const payload: EventAnnotationGroupGetIn = { + contentTypeId: CONTENT_ID, + id: EXISTING_ID_1, + version: API_VERSION, + }; + + const resp = await supertest + .post(`${CONTENT_ENDPOINT}/get`) + .set('kbn-xsrf', 'kibana') + .send(payload) + .expect(200); + + const result = resp.body.result.result as EventAnnotationGroupGetOut; + + expect(result.item.id).to.be(EXISTING_ID_1); + expect(result.meta.outcome).to.be('exactMatch'); + expect(result.item.references.length).to.be(1); + expect(result.item.attributes).to.eql({ + annotations: [ + { + filter: { + language: 'kuery', + query: + 'agent.keyword : "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)" ', + type: 'kibana_query', + }, + icon: 'triangle', + id: 'fdede168-eff1-400f-b106-0f62061f5099', + key: { + type: 'point_in_time', + }, + label: 'Event', + timeField: 'timestamp', + type: 'query', + }, + ], + dataViewSpec: null, + description: '', + ignoreGlobalFilters: true, + title: 'group3', + }); + }); + + it(`should reject a group that does not exist`, async () => { + const payload: EventAnnotationGroupGetIn = { + contentTypeId: CONTENT_ID, + id: 'does-not-exist', + version: API_VERSION, + }; + + const resp = await supertest + .post(`${CONTENT_ENDPOINT}/get`) + .set('kbn-xsrf', 'kibana') + .send(payload) + .expect(404); + + expect(resp.body).to.eql({ + error: 'Not Found', + message: 'Saved object [event-annotation-group/does-not-exist] not found', + statusCode: 404, + }); + }); }); describe('search', () => { - // TODO test tag searching, ordering, pagination, etc + const performSearch = (payload: EventAnnotationGroupSearchIn) => + supertest.post(`${CONTENT_ENDPOINT}/search`).set('kbn-xsrf', 'kibana').send(payload); it(`should retrieve existing groups`, async () => { const payload: EventAnnotationGroupSearchIn = { @@ -83,19 +165,172 @@ export default function ({ getService }: FtrProviderContext) { version: API_VERSION, }; + const resp = await performSearch(payload).expect(200); + + const results = resp.body.result.result.hits; + expect(results.length).to.be(3); + expect(results.map(({ id }: { id: string }) => id)).to.eql([ + EXISTING_ID_1, + EXISTING_ID_2, + EXISTING_ID_3, + ]); + }); + + it(`should filter by tag`, async () => { + const payload: EventAnnotationGroupSearchIn = { + contentTypeId: CONTENT_ID, + query: { + limit: 1000, + tags: { + included: [TAG_ID], + excluded: [], + }, + }, + version: API_VERSION, + }; + + const resp = await performSearch(payload).expect(200); + + const result = resp.body.result.result as EventAnnotationGroupSearchOut; + expect(result.hits.length).to.be(2); + expect( + result.hits.every(({ references }) => references.map(({ id }) => id).includes(TAG_ID)) + ).to.be(true); + }); + + it(`should filter by text`, async () => { + const payload: EventAnnotationGroupSearchIn = { + contentTypeId: CONTENT_ID, + query: { + limit: 1000, + text: DESCRIPTION_2, + tags: { + included: [], + excluded: [], + }, + }, + version: API_VERSION, + }; + + const resp = await performSearch(payload).expect(200); + + const result = resp.body.result.result as EventAnnotationGroupSearchOut; + expect(result.hits.length).to.be(1); + expect(result.hits[0].id).to.be(EXISTING_ID_2); + }); + + it(`should paginate`, async () => { + const payload: EventAnnotationGroupSearchIn = { + contentTypeId: CONTENT_ID, + query: { + limit: 1, + cursor: '1', + tags: { + included: [], + excluded: [], + }, + }, + version: API_VERSION, + }; + + const resp = await performSearch(payload).expect(200); + + const result = resp.body.result.result as EventAnnotationGroupSearchOut; + expect(result.hits.length).to.be(1); + expect(result.hits[0].id).to.be(EXISTING_ID_1); + expect(result.pagination.total).to.be(3); + + // get second page + payload.query.cursor = '2'; + + const resp2 = await performSearch(payload).expect(200); + + const result2 = resp2.body.result.result as EventAnnotationGroupSearchOut; + expect(result2.hits.length).to.be(1); + expect(result2.hits[0].id).to.be(EXISTING_ID_2); + expect(result2.pagination.total).to.be(3); + + // get third page + payload.query.cursor = '3'; + + const resp3 = await performSearch(payload).expect(200); + + const result3 = resp3.body.result.result as EventAnnotationGroupSearchOut; + expect(result3.hits.length).to.be(1); + expect(result3.hits[0].id).to.be(EXISTING_ID_3); + expect(result3.pagination.total).to.be(3); + }); + }); + + describe('create', () => { + it(`should create a new group`, async () => { + const payload: EventAnnotationGroupCreateIn = { + contentTypeId: CONTENT_ID, + data: DEFAULT_EVENT_ANNOTATION_GROUP, + options: { + references: DEFAULT_REFERENCES, + }, + version: API_VERSION, + }; + const resp = await supertest - .post(`${CONTENT_ENDPOINT}/search`) + .post(`${CONTENT_ENDPOINT}/create`) .set('kbn-xsrf', 'kibana') .send(payload) .expect(200); - const results = resp.body.result.result.hits; - expect(results.length).to.be(2); - expect(results.map(({ id }: { id: string }) => id)).to.eql([EXISTING_ID_2, EXISTING_ID_1]); + const result = resp.body.result.result as EventAnnotationGroupCreateOut; + + expect(result.item.attributes).to.eql(DEFAULT_EVENT_ANNOTATION_GROUP); + expect(result.item.id).to.be.a('string'); + expect(result.item.namespaces).to.eql(['default']); + }); + + it(`should reject malformed groups`, async () => { + const badGroups = [ + // extra property + { + ...DEFAULT_EVENT_ANNOTATION_GROUP, + extraProp: 'some-value', + }, + // missing title + { + ...DEFAULT_EVENT_ANNOTATION_GROUP, + title: undefined, + }, + // wrong type for property + { + ...DEFAULT_EVENT_ANNOTATION_GROUP, + ignoreGlobalFilters: 'not-a-boolean', + }, + ] as unknown as EventAnnotationGroupSavedObjectAttributes[]; // (coerce the types because these are intentionally malformed) + + const expectedMessages = [ + 'Invalid data. [extraProp]: definition for this key is missing', + 'Invalid data. [title]: expected value of type [string] but got [undefined]', + 'Invalid data. [ignoreGlobalFilters]: expected value of type [boolean] but got [string]', + ]; + + for (let i = 0; i < badGroups.length; i++) { + const payload: EventAnnotationGroupCreateIn = { + contentTypeId: CONTENT_ID, + data: badGroups[i], + options: { + references: DEFAULT_REFERENCES, + }, + version: API_VERSION, + }; + + const resp = await supertest + .post(`${CONTENT_ENDPOINT}/create`) + .set('kbn-xsrf', 'kibana') + .send(payload) + .expect(400); + + expect(resp.body.message).to.be(expectedMessages[i]); + } }); - }); - describe('create', () => { it(`should require dataViewSpec to be specified`, async () => { const createWithDataViewSpec = (dataViewSpec: any) => { const payload: EventAnnotationGroupCreateIn = { @@ -127,6 +362,81 @@ export default function ({ getService }: FtrProviderContext) { }); describe('update', () => { + it(`should update a group`, async () => { + const payload: EventAnnotationGroupUpdateIn = { + contentTypeId: CONTENT_ID, + data: { + ...DEFAULT_EVENT_ANNOTATION_GROUP, + description: 'updated description', + }, + id: EXISTING_ID_1, + options: { + references: DEFAULT_REFERENCES, + }, + version: API_VERSION, + }; + + const resp = await supertest + .post(`${CONTENT_ENDPOINT}/update`) + .set('kbn-xsrf', 'kibana') + .send(payload) + .expect(200); + + const result = resp.body.result.result as EventAnnotationGroupCreateOut; + + expect(result.item.attributes).to.eql({ + ...DEFAULT_EVENT_ANNOTATION_GROUP, + description: 'updated description', + }); + expect(result.item.id).to.be(EXISTING_ID_1); + }); + + it(`should reject malformed groups`, async () => { + const badGroups = [ + // extra property + { + ...DEFAULT_EVENT_ANNOTATION_GROUP, + extraProp: 'some-value', + }, + // missing title + { + ...DEFAULT_EVENT_ANNOTATION_GROUP, + title: undefined, + }, + // wrong type for property + { + ...DEFAULT_EVENT_ANNOTATION_GROUP, + ignoreGlobalFilters: 'not-a-boolean', + }, + ] as unknown as EventAnnotationGroupSavedObjectAttributes[]; // (coerce the types because these are intentionally malformed) + + const expectedMessages = [ + 'Invalid data. [extraProp]: definition for this key is missing', + 'Invalid data. [title]: expected value of type [string] but got [undefined]', + 'Invalid data. [ignoreGlobalFilters]: expected value of type [boolean] but got [string]', + ]; + + for (let i = 0; i < badGroups.length; i++) { + const payload: EventAnnotationGroupUpdateIn = { + contentTypeId: CONTENT_ID, + data: badGroups[i], + id: EXISTING_ID_1, + options: { + references: DEFAULT_REFERENCES, + }, + version: API_VERSION, + }; + + const resp = await supertest + .post(`${CONTENT_ENDPOINT}/update`) + .set('kbn-xsrf', 'kibana') + .send(payload) + .expect(400); + + expect(resp.body.message).to.be(expectedMessages[i]); + } + }); + it(`should require dataViewSpec to be specified`, async () => { const updateWithDataViewSpec = (dataViewSpec: any) => { const payload: EventAnnotationGroupUpdateIn = { @@ -158,6 +468,34 @@ export default function ({ getService }: FtrProviderContext) { }); }); - // TODO - delete + describe('delete', () => { + const deleteGroupByID = (id: string) => { + const payload: EventAnnotationGroupDeleteIn = { + contentTypeId: CONTENT_ID, + id, + version: API_VERSION, + }; + + return supertest.post(`${CONTENT_ENDPOINT}/delete`).set('kbn-xsrf', 'kibana').send(payload); + }; + + it(`should delete a group`, async () => { + const resp = await deleteGroupByID(EXISTING_ID_1).expect(200); + + const result = resp.body.result.result as EventAnnotationGroupDeleteOut; + + expect(result.success).to.be(true); + }); + + it(`should reject deleting a group that does not exist`, async () => { + const resp = await deleteGroupByID('does-not-exist').expect(404); + + expect(resp.body).to.eql({ + error: 'Not Found', + message: 'Saved object [event-annotation-group/does-not-exist] not found', + statusCode: 404, + }); + }); + }); }); } diff --git a/test/api_integration/fixtures/kbn_archiver/event_annotations/event_annotations.json b/test/api_integration/fixtures/kbn_archiver/event_annotations/event_annotations.json index ed574c749518c..4732d061c6930 100644 --- a/test/api_integration/fixtures/kbn_archiver/event_annotations/event_annotations.json +++ b/test/api_integration/fixtures/kbn_archiver/event_annotations/event_annotations.json @@ -7,33 +7,31 @@ "title": "kibana_sample_data_logs" }, "coreMigrationVersion": "8.8.0", - "created_at": "2023-08-15T19:49:25.494Z", + "created_at": "2023-09-07T17:23:20.906Z", "id": "90943e30-9a47-11e8-b64d-95841ca0b247", "managed": false, "references": [], "type": "index-pattern", "typeMigrationVersion": "8.0.0", - "updated_at": "2023-08-15T19:49:25.494Z", - "version": "WzIyLDFd" + "updated_at": "2023-09-07T17:23:20.906Z", + "version": "WzEwMiwxXQ==" } { "attributes": { "annotations": [ { - "color": "#6092c0", "filter": { "language": "kuery", "query": "agent.keyword : \"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\" ", "type": "kibana_query" }, - "icon": "asterisk", - "id": "499ee351-f541-46e0-b327-b3dcae91aff5", + "icon": "triangle", + "id": "fdede168-eff1-400f-b106-0f62061f5099", "key": { "type": "point_in_time" }, "label": "Event", - "lineStyle": "dashed", "timeField": "timestamp", "type": "query" } @@ -41,11 +39,11 @@ "dataViewSpec": null, "description": "", "ignoreGlobalFilters": true, - "title": "Another group" + "title": "group3" }, "coreMigrationVersion": "8.8.0", - "created_at": "2023-08-15T21:02:32.023Z", - "id": "0d1aa670-3baf-11ee-a4a7-c11cb33a9549", + "created_at": "2023-09-08T18:41:09.030Z", + "id": "46c2a460-4e77-11ee-bb97-116581699678", "managed": false, "references": [ { @@ -55,8 +53,25 @@ } ], "type": "event-annotation-group", - "updated_at": "2023-08-15T22:15:43.724Z", - "version": "WzU4LDFd" + "updated_at": "2023-09-08T18:42:48.080Z", + "version": "WzE2OCwxXQ==" +} + +{ + "attributes": { + "color": "#dac7c4", + "description": "a tag to filter by", + "name": "tag" + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2023-09-08T18:40:42.018Z", + "id": "36a8f020-4e77-11ee-bb97-116581699678", + "managed": false, + "references": [], + "type": "tag", + "typeMigrationVersion": "8.0.0", + "updated_at": "2023-09-08T18:40:42.018Z", + "version": "WzI3NDUsMV0=" } { @@ -64,9 +79,49 @@ "annotations": [ { "icon": "triangle", - "id": "1d9627a8-11dc-44f1-badb-4d40a80b6bee", + "id": "3d9f03ca-36aa-4ebb-aab8-efef1591c6d5", "key": { - "timestamp": "2023-08-10T15:00:00.000Z", + "timestamp": "2023-09-08T18:32:00.000Z", + "type": "point_in_time" + }, + "label": "Event", + "type": "manual" + } + ], + "dataViewSpec": null, + "description": "i am a description you can search for!", + "ignoreGlobalFilters": true, + "title": "group2" + }, + "coreMigrationVersion": "8.8.0", + "created_at": "2023-09-08T18:41:01.654Z", + "id": "425d2760-4e77-11ee-bb97-116581699678", + "managed": false, + "references": [ + { + "id": "90943e30-9a47-11e8-b64d-95841ca0b247", + "name": "event-annotation-group_dataView-ref-90943e30-9a47-11e8-b64d-95841ca0b247", + "type": "index-pattern" + }, + { + "id": "36a8f020-4e77-11ee-bb97-116581699678", + "name": "36a8f020-4e77-11ee-bb97-116581699678", + "type": "tag" + } + ], + "type": "event-annotation-group", + "updated_at": "2023-09-08T18:41:01.654Z", + "version": "WzE2NCwxXQ==" +} + +{ + "attributes": { + "annotations": [ + { + "icon": "triangle", + "id": "f7be288b-8adf-48b9-89d4-267db4863a3d", + "key": { + "timestamp": "2023-09-08T18:32:00.000Z", "type": "point_in_time" }, "label": "Event", @@ -76,20 +131,25 @@ "dataViewSpec": null, "description": "", "ignoreGlobalFilters": true, - "title": "A group" + "title": "group1" }, "coreMigrationVersion": "8.8.0", - "created_at": "2023-08-15T19:50:29.907Z", - "id": "fcebef20-3ba4-11ee-85d3-3dd00bdd66ef", + "created_at": "2023-09-08T18:40:45.981Z", + "id": "3905a4d0-4e77-11ee-bb97-116581699678", "managed": false, "references": [ { "id": "90943e30-9a47-11e8-b64d-95841ca0b247", "name": "event-annotation-group_dataView-ref-90943e30-9a47-11e8-b64d-95841ca0b247", "type": "index-pattern" + }, + { + "id": "36a8f020-4e77-11ee-bb97-116581699678", + "name": "36a8f020-4e77-11ee-bb97-116581699678", + "type": "tag" } ], "type": "event-annotation-group", - "updated_at": "2023-08-15T22:13:19.290Z", - "version": "WzU0LDFd" + "updated_at": "2023-09-08T18:40:45.981Z", + "version": "WzE2MiwxXQ==" } \ No newline at end of file diff --git a/test/tsconfig.json b/test/tsconfig.json index 56d4f185930e7..d71c7f9c8ffb1 100644 --- a/test/tsconfig.json +++ b/test/tsconfig.json @@ -68,6 +68,7 @@ "@kbn/core-saved-objects-server", "@kbn/discover-plugin", "@kbn/core-http-common", - "@kbn/event-annotation-plugin" + "@kbn/event-annotation-plugin", + "@kbn/event-annotation-common" ] } From 707fbf115a9a6d889a645316c94be5b288e970c6 Mon Sep 17 00:00:00 2001 From: James Rodewig <james.rodewig@elastic.co> Date: Mon, 18 Sep 2023 13:45:25 -0400 Subject: [PATCH 096/149] [DOCS] Note Kibana 8.10.0 was withdrawn (#166644) --- docs/CHANGELOG.asciidoc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index 045cdb5e80bd7..297a347e721ba 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -72,6 +72,8 @@ Presentation:: [[release-notes-8.10.0]] == {kib} 8.10.0 +IMPORTANT: {kib} 8.10.0 has been withdrawn. + For information about the {kib} 8.10.0 release, review the following information. [float] From 70a2f4cdb5deca6e762a2c88b0d919d7560eac30 Mon Sep 17 00:00:00 2001 From: Bryce Buchanan <75274611+bryce-b@users.noreply.github.com> Date: Mon, 18 Sep 2023 10:56:00 -0700 Subject: [PATCH 097/149] Mobile UI crash widget (#163527) ## Summary Implemented crash widget & most crashes by location widget in the mobile landing page in APM. ### Checklist Delete any items that are not applicable to this PR. - [x] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [x] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [x] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../src/lib/apm/mobile_device.ts | 1 + .../service_overview/stats/location_stats.tsx | 11 +- .../mobile/service_overview/stats/stats.tsx | 20 +-- .../routes/mobile/get_mobile_crash_rate.ts | 165 ++++++++++++++++++ .../mobile/get_mobile_crashes_by_location.ts | 109 ++++++++++++ .../mobile/get_mobile_location_stats.ts | 11 +- .../server/routes/mobile/get_mobile_stats.ts | 18 +- .../translations/translations/fr-FR.json | 1 - .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - .../mobile/mobile_location_stats.spec.ts | 14 ++ .../tests/mobile/mobile_stats.spec.ts | 26 ++- 12 files changed, 354 insertions(+), 24 deletions(-) create mode 100644 x-pack/plugins/apm/server/routes/mobile/get_mobile_crash_rate.ts create mode 100644 x-pack/plugins/apm/server/routes/mobile/get_mobile_crashes_by_location.ts diff --git a/packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts b/packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts index 252590104e7a2..9a904d0d94dbb 100644 --- a/packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts +++ b/packages/kbn-apm-synthtrace-client/src/lib/apm/mobile_device.ts @@ -254,6 +254,7 @@ export class MobileDevice extends Entity<ApmFields> { return new ApmError({ ...this.fields, 'error.type': 'crash', + 'error.id': generateLongId(message), 'error.exception': [{ message, ...{ type: 'crash' } }], 'error.grouping_name': groupingName || message, }); diff --git a/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/location_stats.tsx b/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/location_stats.tsx index 731205c4715a9..22e95e54817dd 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/location_stats.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/location_stats.tsx @@ -133,17 +133,18 @@ export function MobileLocationStats({ trendShape: MetricTrendShape.Area, }, { - color: euiTheme.eui.euiColorDisabled, + color: euiTheme.eui.euiColorLightestShade, title: i18n.translate('xpack.apm.mobile.location.metrics.crashes', { defaultMessage: 'Most crashes', }), - subtitle: i18n.translate('xpack.apm.mobile.coming.soon', { - defaultMessage: 'Coming Soon', + extra: getComparisonValueFormatter({ + currentPeriodValue: currentPeriod?.mostCrashes.value, + previousPeriodValue: previousPeriod?.mostCrashes.value, }), icon: getIcon('bug'), - value: NOT_AVAILABLE_LABEL, + value: currentPeriod?.mostCrashes.location ?? NOT_AVAILABLE_LABEL, valueFormatter: (value) => `${value}`, - trend: [], + trend: currentPeriod?.mostCrashes.timeseries, trendShape: MetricTrendShape.Area, }, { diff --git a/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/stats.tsx b/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/stats.tsx index 707b759631d89..3e8d42d5a2a3c 100644 --- a/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/stats.tsx +++ b/x-pack/plugins/apm/public/components/app/mobile/service_overview/stats/stats.tsx @@ -14,6 +14,7 @@ import { } from '@elastic/eui'; import React, { useCallback } from 'react'; import { useTheme } from '@kbn/observability-shared-plugin/public'; +import { NOT_AVAILABLE_LABEL } from '../../../../../../common/i18n'; import { useAnyOfApmParams } from '../../../../../hooks/use_apm_params'; import { useFetcher, @@ -104,17 +105,16 @@ export function MobileStats({ const metrics: MetricDatum[] = [ { - color: euiTheme.eui.euiColorDisabled, + color: euiTheme.eui.euiColorLightestShade, title: i18n.translate('xpack.apm.mobile.metrics.crash.rate', { - defaultMessage: 'Crash Rate (Crash per minute)', - }), - subtitle: i18n.translate('xpack.apm.mobile.coming.soon', { - defaultMessage: 'Coming Soon', + defaultMessage: 'Crash rate', }), icon: getIcon('bug'), - value: 'N/A', - valueFormatter: (value: number) => valueFormatter(value), - trend: [], + value: data?.currentPeriod?.crashRate?.value ?? NOT_AVAILABLE_LABEL, + valueFormatter: (value: number) => + valueFormatter(Number((value * 100).toPrecision(2)), '%'), + trend: data?.currentPeriod?.crashRate?.timeseries, + extra: getComparisonValueFormatter(data?.previousPeriod.crashRate?.value), trendShape: MetricTrendShape.Area, }, { @@ -137,7 +137,7 @@ export function MobileStats({ defaultMessage: 'Sessions', }), icon: getIcon('timeslider'), - value: data?.currentPeriod?.sessions?.value ?? NaN, + value: data?.currentPeriod?.sessions?.value ?? NOT_AVAILABLE_LABEL, valueFormatter: (value: number) => valueFormatter(value), trend: data?.currentPeriod?.sessions?.timeseries, extra: getComparisonValueFormatter(data?.previousPeriod.sessions?.value), @@ -149,7 +149,7 @@ export function MobileStats({ defaultMessage: 'HTTP requests', }), icon: getIcon('kubernetesPod'), - value: data?.currentPeriod?.requests?.value ?? NaN, + value: data?.currentPeriod?.requests?.value ?? NOT_AVAILABLE_LABEL, extra: getComparisonValueFormatter(data?.previousPeriod.requests?.value), valueFormatter: (value: number) => valueFormatter(value), trend: data?.currentPeriod?.requests?.timeseries, diff --git a/x-pack/plugins/apm/server/routes/mobile/get_mobile_crash_rate.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_crash_rate.ts new file mode 100644 index 0000000000000..bf498bf704607 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_crash_rate.ts @@ -0,0 +1,165 @@ +/* + * 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 { ProcessorEvent } from '@kbn/observability-plugin/common'; +import { + kqlQuery, + rangeQuery, + termQuery, +} from '@kbn/observability-plugin/server'; +import { Coordinate } from '../../../typings/timeseries'; +import { Maybe } from '../../../typings/common'; +import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; +import { getBucketSize } from '../../../common/utils/get_bucket_size'; +import { + ERROR_TYPE, + ERROR_ID, + SERVICE_NAME, +} from '../../../common/es_fields/apm'; +import { environmentQuery } from '../../../common/utils/environment_query'; +import { getOffsetInMs } from '../../../common/utils/get_offset_in_ms'; +import { offsetPreviousPeriodCoordinates } from '../../../common/utils/offset_previous_period_coordinate'; + +export interface CrashRateTimeseries { + currentPeriod: { timeseries: Coordinate[]; value: Maybe<number> }; + previousPeriod: { timeseries: Coordinate[]; value: Maybe<number> }; +} + +interface Props { + apmEventClient: APMEventClient; + serviceName: string; + transactionName?: string; + environment: string; + start: number; + end: number; + kuery: string; + offset?: string; +} + +async function getMobileCrashTimeseries({ + apmEventClient, + serviceName, + transactionName, + environment, + start, + end, + kuery, + offset, +}: Props) { + const { startWithOffset, endWithOffset } = getOffsetInMs({ + start, + end, + offset, + }); + + const { intervalString } = getBucketSize({ + start: startWithOffset, + end: endWithOffset, + minBucketSize: 60, + }); + + const aggs = { + crashes: { + cardinality: { field: ERROR_ID }, + }, + }; + + const response = await apmEventClient.search('get_mobile_crash_rate', { + apm: { + events: [ProcessorEvent.error], + }, + body: { + track_total_hits: false, + size: 0, + query: { + bool: { + filter: [ + ...termQuery(ERROR_TYPE, 'crash'), + ...termQuery(SERVICE_NAME, serviceName), + ...rangeQuery(startWithOffset, endWithOffset), + ...environmentQuery(environment), + ...kqlQuery(kuery), + ], + }, + }, + aggs: { + timeseries: { + date_histogram: { + field: '@timestamp', + fixed_interval: intervalString, + min_doc_count: 0, + extended_bounds: { min: startWithOffset, max: endWithOffset }, + }, + aggs, + }, + ...aggs, + }, + }, + }); + + const timeseries = + response?.aggregations?.timeseries.buckets.map((bucket) => { + return { + x: bucket.key, + y: bucket.crashes.value, + }; + }) ?? []; + + return { + timeseries, + value: response.aggregations?.crashes?.value, + }; +} + +export async function getMobileCrashRate({ + kuery, + apmEventClient, + serviceName, + transactionName, + environment, + start, + end, + offset, +}: Props): Promise<CrashRateTimeseries> { + const options = { + serviceName, + transactionName, + apmEventClient, + kuery, + environment, + }; + + const currentPeriodPromise = getMobileCrashTimeseries({ + ...options, + start, + end, + }); + + const previousPeriodPromise = offset + ? getMobileCrashTimeseries({ + ...options, + start, + end, + offset, + }) + : { timeseries: [], value: null }; + + const [currentPeriod, previousPeriod] = await Promise.all([ + currentPeriodPromise, + previousPeriodPromise, + ]); + return { + currentPeriod, + previousPeriod: { + timeseries: offsetPreviousPeriodCoordinates({ + currentPeriodTimeseries: currentPeriod.timeseries, + previousPeriodTimeseries: previousPeriod.timeseries, + }), + value: previousPeriod?.value, + }, + }; +} diff --git a/x-pack/plugins/apm/server/routes/mobile/get_mobile_crashes_by_location.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_crashes_by_location.ts new file mode 100644 index 0000000000000..4117e6a220bd4 --- /dev/null +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_crashes_by_location.ts @@ -0,0 +1,109 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ProcessorEvent } from '@kbn/observability-plugin/common'; +import { + kqlQuery, + rangeQuery, + termQuery, +} from '@kbn/observability-plugin/server'; +import { SERVICE_NAME, ERROR_TYPE } from '../../../common/es_fields/apm'; +import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; +import { getOffsetInMs } from '../../../common/utils/get_offset_in_ms'; +import { getBucketSize } from '../../../common/utils/get_bucket_size'; +import { environmentQuery } from '../../../common/utils/environment_query'; + +interface Props { + kuery: string; + apmEventClient: APMEventClient; + serviceName: string; + environment: string; + start: number; + end: number; + locationField?: string; + offset?: string; +} + +export async function getCrashesByLocation({ + kuery, + apmEventClient, + serviceName, + environment, + start, + end, + locationField, + offset, +}: Props) { + const { startWithOffset, endWithOffset } = getOffsetInMs({ + start, + end, + offset, + }); + + const { intervalString } = getBucketSize({ + start: startWithOffset, + end: endWithOffset, + minBucketSize: 60, + }); + + const aggs = { + crashes: { + filter: { term: { [ERROR_TYPE]: 'crash' } }, + aggs: { + crashesByLocation: { + terms: { + field: locationField, + }, + }, + }, + }, + }; + const response = await apmEventClient.search('get_mobile_location_crashes', { + apm: { + events: [ProcessorEvent.error], + }, + body: { + track_total_hits: false, + size: 0, + query: { + bool: { + filter: [ + ...termQuery(SERVICE_NAME, serviceName), + ...rangeQuery(startWithOffset, endWithOffset), + ...environmentQuery(environment), + ...kqlQuery(kuery), + ], + }, + }, + aggs: { + timeseries: { + date_histogram: { + field: '@timestamp', + fixed_interval: intervalString, + min_doc_count: 0, + }, + aggs, + }, + ...aggs, + }, + }, + }); + return { + location: response.aggregations?.crashes?.crashesByLocation?.buckets[0] + ?.key as string, + value: + response.aggregations?.crashes?.crashesByLocation?.buckets[0] + ?.doc_count ?? 0, + timeseries: + response.aggregations?.timeseries?.buckets.map((bucket) => ({ + x: bucket.key, + y: + response.aggregations?.crashes?.crashesByLocation?.buckets[0] + ?.doc_count ?? 0, + })) ?? [], + }; +} diff --git a/x-pack/plugins/apm/server/routes/mobile/get_mobile_location_stats.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_location_stats.ts index 6a43a9965a03f..ccc777e3cfe31 100644 --- a/x-pack/plugins/apm/server/routes/mobile/get_mobile_location_stats.ts +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_location_stats.ts @@ -9,6 +9,7 @@ import { CLIENT_GEO_COUNTRY_NAME } from '../../../common/es_fields/apm'; import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_event_client'; import { getSessionsByLocation } from './get_mobile_sessions_by_location'; import { getHttpRequestsByLocation } from './get_mobile_http_requests_by_location'; +import { getCrashesByLocation } from './get_mobile_crashes_by_location'; import { Maybe } from '../../../typings/common'; export type Timeseries = Array<{ x: number; y: number }>; @@ -24,6 +25,11 @@ interface LocationStats { value: Maybe<number>; timeseries: Timeseries; }; + mostCrashes: { + location?: string; + value: Maybe<number>; + timeseries: Timeseries; + }; } export interface MobileLocationStats { @@ -63,14 +69,16 @@ async function getMobileLocationStats({ offset, }; - const [mostSessions, mostRequests] = await Promise.all([ + const [mostSessions, mostRequests, mostCrashes] = await Promise.all([ getSessionsByLocation({ ...commonProps }), getHttpRequestsByLocation({ ...commonProps }), + getCrashesByLocation({ ...commonProps }), ]); return { mostSessions, mostRequests, + mostCrashes, }; } @@ -108,6 +116,7 @@ export async function getMobileLocationStatsPeriods({ : { mostSessions: { value: null, timeseries: [] }, mostRequests: { value: null, timeseries: [] }, + mostCrashes: { value: null, timeseries: [] }, }; const [currentPeriod, previousPeriod] = await Promise.all([ diff --git a/x-pack/plugins/apm/server/routes/mobile/get_mobile_stats.ts b/x-pack/plugins/apm/server/routes/mobile/get_mobile_stats.ts index 70d51360ff89d..071487298ab7a 100644 --- a/x-pack/plugins/apm/server/routes/mobile/get_mobile_stats.ts +++ b/x-pack/plugins/apm/server/routes/mobile/get_mobile_stats.ts @@ -9,6 +9,7 @@ import { APMEventClient } from '../../lib/helpers/create_es_client/create_apm_ev import { getOffsetInMs } from '../../../common/utils/get_offset_in_ms'; import { getMobileSessions } from './get_mobile_sessions'; import { getMobileHttpRequests } from './get_mobile_http_requests'; +import { getMobileCrashRate } from './get_mobile_crash_rate'; import { Maybe } from '../../../typings/common'; export interface Timeseries { @@ -18,6 +19,7 @@ export interface Timeseries { interface MobileStats { sessions: { timeseries: Timeseries[]; value: Maybe<number> }; requests: { timeseries: Timeseries[]; value: Maybe<number> }; + crashRate: { timeseries: Timeseries[]; value: Maybe<number> }; } export interface MobilePeriodStats { @@ -60,9 +62,10 @@ async function getMobileStats({ offset, }; - const [sessions, httpRequests] = await Promise.all([ + const [sessions, httpRequests, crashes] = await Promise.all([ getMobileSessions({ ...commonProps }), getMobileHttpRequests({ ...commonProps }), + getMobileCrashRate({ ...commonProps }), ]); return { @@ -74,6 +77,18 @@ async function getMobileStats({ value: httpRequests.currentPeriod.value, timeseries: httpRequests.currentPeriod.timeseries as Timeseries[], }, + crashRate: { + value: sessions.currentPeriod.value + ? (crashes.currentPeriod.value ?? 0) / sessions.currentPeriod.value + : 0, + timeseries: crashes.currentPeriod.timeseries.map((bucket, i) => { + const sessionValue = sessions.currentPeriod.timeseries[i].y; + return { + x: bucket.x, + y: sessionValue ? (bucket.y ?? 0) / sessionValue : 0, + }; + }) as Timeseries[], + }, }; } @@ -107,6 +122,7 @@ export async function getMobileStatsPeriods({ : { sessions: { timeseries: [], value: null }, requests: { timeseries: [], value: null }, + crashRate: { timeseries: [], value: null }, }; const [currentPeriod, previousPeriod] = await Promise.all([ diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 50e6763aad805..31789c2078294 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -8271,7 +8271,6 @@ "xpack.apm.mobile.location.metrics.http.requests.title": "Le plus utilisé dans", "xpack.apm.mobile.location.metrics.launches": "La plupart des lancements", "xpack.apm.mobile.location.metrics.sessions": "La plupart des sessions", - "xpack.apm.mobile.metrics.crash.rate": "Taux de panne (pannes par minute)", "xpack.apm.mobile.metrics.http.requests": "Requêtes HTTP", "xpack.apm.mobile.metrics.load.time": "Temps de chargement de l'application le plus lent", "xpack.apm.mobile.metrics.sessions": "Sessions", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index d2b3c60becf20..88b6cac53927d 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -8287,7 +8287,6 @@ "xpack.apm.mobile.location.metrics.http.requests.title": "最も使用されている", "xpack.apm.mobile.location.metrics.launches": "最も多い起動", "xpack.apm.mobile.location.metrics.sessions": "最も多いセッション", - "xpack.apm.mobile.metrics.crash.rate": "クラッシュ率(毎分のクラッシュ数)", "xpack.apm.mobile.metrics.http.requests": "HTTPリクエスト", "xpack.apm.mobile.metrics.load.time": "最も遅いアプリ読み込み時間", "xpack.apm.mobile.metrics.sessions": "セッション", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 21a7856a7baa3..1328b87d357fa 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -8286,7 +8286,6 @@ "xpack.apm.mobile.location.metrics.http.requests.title": "最常用于", "xpack.apm.mobile.location.metrics.launches": "大多数启动", "xpack.apm.mobile.location.metrics.sessions": "大多数会话", - "xpack.apm.mobile.metrics.crash.rate": "崩溃速率(每分钟崩溃数)", "xpack.apm.mobile.metrics.http.requests": "HTTP 请求", "xpack.apm.mobile.metrics.load.time": "最慢应用加载时间", "xpack.apm.mobile.metrics.sessions": "会话", diff --git a/x-pack/test/apm_api_integration/tests/mobile/mobile_location_stats.spec.ts b/x-pack/test/apm_api_integration/tests/mobile/mobile_location_stats.spec.ts index 447aebf727767..94193f2946ece 100644 --- a/x-pack/test/apm_api_integration/tests/mobile/mobile_location_stats.spec.ts +++ b/x-pack/test/apm_api_integration/tests/mobile/mobile_location_stats.spec.ts @@ -219,6 +219,9 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.currentPeriod.mostRequests.timeseries.every((item) => item.y === 0)).to.eql( true ); + expect(response.currentPeriod.mostCrashes.timeseries.every((item) => item.y === 0)).to.eql( + true + ); }); }); }); @@ -253,6 +256,11 @@ export default function ApiTest({ getService }: FtrProviderContext) { const { location } = response.currentPeriod.mostRequests; expect(location).to.be('China'); }); + + it('returns location for most crashes', () => { + const { location } = response.currentPeriod.mostCrashes; + expect(location).to.be('China'); + }); }); describe('when filters are applied', () => { @@ -265,6 +273,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.currentPeriod.mostSessions.value).to.eql(0); expect(response.currentPeriod.mostRequests.value).to.eql(0); + expect(response.currentPeriod.mostCrashes.value).to.eql(0); expect(response.currentPeriod.mostSessions.timeseries.every((item) => item.y === 0)).to.eql( true @@ -272,6 +281,9 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.currentPeriod.mostRequests.timeseries.every((item) => item.y === 0)).to.eql( true ); + expect(response.currentPeriod.mostCrashes.timeseries.every((item) => item.y === 0)).to.eql( + true + ); }); it('returns the correct values when single filter is applied', async () => { @@ -283,6 +295,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.currentPeriod.mostSessions.value).to.eql(3); expect(response.currentPeriod.mostRequests.value).to.eql(3); + expect(response.currentPeriod.mostCrashes.value).to.eql(3); }); it('returns the correct values when multiple filters are applied', async () => { @@ -293,6 +306,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.currentPeriod.mostSessions.value).to.eql(3); expect(response.currentPeriod.mostRequests.value).to.eql(3); + expect(response.currentPeriod.mostCrashes.value).to.eql(3); }); }); }); diff --git a/x-pack/test/apm_api_integration/tests/mobile/mobile_stats.spec.ts b/x-pack/test/apm_api_integration/tests/mobile/mobile_stats.spec.ts index 477d5456315cf..edc852d97ad2a 100644 --- a/x-pack/test/apm_api_integration/tests/mobile/mobile_stats.spec.ts +++ b/x-pack/test/apm_api_integration/tests/mobile/mobile_stats.spec.ts @@ -10,7 +10,7 @@ import { apm, timerange } from '@kbn/apm-synthtrace-client'; import { ApmSynthtraceEsClient } from '@kbn/apm-synthtrace'; import { APIReturnType } from '@kbn/apm-plugin/public/services/rest/create_call_apm_api'; import { ENVIRONMENT_ALL } from '@kbn/apm-plugin/common/environment_filter_values'; -import { sumBy } from 'lodash'; +import { sumBy, meanBy } from 'lodash'; import { FtrProviderContext } from '../../common/ftr_provider_context'; type MobileStats = APIReturnType<'GET /internal/apm/mobile-services/{serviceName}/stats'>; @@ -103,7 +103,7 @@ async function generateData({ return [ galaxy10 .transaction('Start View - View Appearing', 'Android Activity') - .errors(galaxy10.crash({ message: 'error' }).timestamp(timestamp)) + .errors(galaxy10.crash({ message: 'error C' }).timestamp(timestamp)) .timestamp(timestamp) .duration(500) .success() @@ -120,7 +120,11 @@ async function generateData({ ), huaweiP2 .transaction('Start View - View Appearing', 'huaweiP2 Activity') - .errors(huaweiP2.crash({ message: 'error' }).timestamp(timestamp)) + .errors( + huaweiP2.crash({ message: 'error A' }).timestamp(timestamp), + huaweiP2.crash({ message: 'error B' }).timestamp(timestamp), + huaweiP2.crash({ message: 'error D' }).timestamp(timestamp) + ) .timestamp(timestamp) .duration(20) .success(), @@ -211,6 +215,15 @@ export default function ApiTest({ getService }: FtrProviderContext) { const timeseriesTotal = sumBy(timeseries, 'y'); expect(value).to.be(timeseriesTotal); }); + + it('returns same crashes', () => { + const { value, timeseries } = response.currentPeriod.crashRate; + const timeseriesMean = meanBy( + timeseries.filter((bucket) => bucket.y !== 0), + 'y' + ); + expect(value).to.be(timeseriesMean); + }); }); describe('when filters are applied', () => { @@ -223,6 +236,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.currentPeriod.sessions.value).to.eql(0); expect(response.currentPeriod.requests.value).to.eql(0); + expect(response.currentPeriod.crashRate.value).to.eql(0); expect(response.currentPeriod.sessions.timeseries.every((item) => item.y === 0)).to.eql( true @@ -230,6 +244,9 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.currentPeriod.requests.timeseries.every((item) => item.y === 0)).to.eql( true ); + expect(response.currentPeriod.crashRate.timeseries.every((item) => item.y === 0)).to.eql( + true + ); }); it('returns the correct values when single filter is applied', async () => { @@ -241,6 +258,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { expect(response.currentPeriod.sessions.value).to.eql(3); expect(response.currentPeriod.requests.value).to.eql(0); + expect(response.currentPeriod.crashRate.value).to.eql(3); }); it('returns the correct values when multiple filters are applied', async () => { @@ -248,9 +266,9 @@ export default function ApiTest({ getService }: FtrProviderContext) { serviceName: 'synth-android', kuery: `service.version:"1.2" and service.environment: "production"`, }); - expect(response.currentPeriod.sessions.value).to.eql(3); expect(response.currentPeriod.requests.value).to.eql(3); + expect(response.currentPeriod.crashRate.value).to.eql(1); }); }); }); From 15745024d4085e55de93209924a773cf81c6fa77 Mon Sep 17 00:00:00 2001 From: Ying Mao <ying.mao@elastic.co> Date: Mon, 18 Sep 2023 14:18:19 -0400 Subject: [PATCH 098/149] [Response Ops][Alerting] SLIs Phase 2 - Histogram for task schedule delay (#166122) Towards https://github.com/elastic/response-ops-team/issues/130 ## Summary This implements the second of 3 SLIs described in https://github.com/elastic/response-ops-team/issues/130 - the histogram for tracking task schedule delay in seconds. We bucket up to 30 minutes. ## To Verify Run Kibana and create some alerting rules. Navigate to https://localhost:5601/api/task_manager/metrics?reset=false and you should see that the new metric under `task_run.value.overall.delay` Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../server/metrics/create_aggregator.test.ts | 797 ++++++++++++++++-- .../server/metrics/metrics_stream.ts | 5 +- .../server/metrics/simple_histogram.test.ts | 17 + .../server/metrics/simple_histogram.ts | 18 + .../metrics/task_claim_metrics_aggregator.ts | 21 +- .../task_run_metrics_aggregator.test.ts | 58 +- .../metrics/task_run_metrics_aggregator.ts | 51 +- .../task_manager/server/task_events.ts | 3 +- .../server/task_running/task_runner.test.ts | 29 +- .../server/task_running/task_runner.ts | 18 +- .../test_suites/task_manager/metrics_route.ts | 21 +- 11 files changed, 923 insertions(+), 115 deletions(-) diff --git a/x-pack/plugins/task_manager/server/metrics/create_aggregator.test.ts b/x-pack/plugins/task_manager/server/metrics/create_aggregator.test.ts index 6ff99d482581a..91aa56e3aa921 100644 --- a/x-pack/plugins/task_manager/server/metrics/create_aggregator.test.ts +++ b/x-pack/plugins/task_manager/server/metrics/create_aggregator.test.ts @@ -8,7 +8,7 @@ import sinon from 'sinon'; import { Subject, Observable } from 'rxjs'; import { take, bufferCount, skip } from 'rxjs/operators'; -import { isTaskPollingCycleEvent, isTaskRunEvent } from '../task_events'; +import { isTaskManagerStatEvent, isTaskPollingCycleEvent, isTaskRunEvent } from '../task_events'; import { TaskLifecycleEvent } from '../polling_lifecycle'; import { AggregatedStat } from '../lib/runtime_statistics_aggregator'; import { taskPollingLifecycleMock } from '../polling_lifecycle.mock'; @@ -16,7 +16,11 @@ import { TaskManagerConfig } from '../config'; import { createAggregator } from './create_aggregator'; import { TaskClaimMetric, TaskClaimMetricsAggregator } from './task_claim_metrics_aggregator'; import { taskClaimFailureEvent, taskClaimSuccessEvent } from './task_claim_metrics_aggregator.test'; -import { getTaskRunFailedEvent, getTaskRunSuccessEvent } from './task_run_metrics_aggregator.test'; +import { + getTaskRunFailedEvent, + getTaskRunSuccessEvent, + getTaskManagerStatEvent, +} from './task_run_metrics_aggregator.test'; import { TaskRunMetric, TaskRunMetricsAggregator } from './task_run_metrics_aggregator'; import * as TaskClaimMetricsAggregatorModule from './task_claim_metrics_aggregator'; import { metricsAggregatorMock } from './metrics_aggregator.mock'; @@ -370,17 +374,27 @@ describe('createAggregator', () => { }); describe('with TaskRunMetricsAggregator', () => { - test('returns a cumulative count of successful task runs and total task runs, broken down by type', async () => { + test('returns a cumulative count of successful task runs, on time task runs and total task runs, broken down by type, along with histogram of run delays', async () => { const taskRunEvents = [ + getTaskManagerStatEvent(3.234), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(10.45), getTaskRunSuccessEvent('telemetry'), + getTaskManagerStatEvent(3.454), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(35.45), getTaskRunSuccessEvent('report'), + getTaskManagerStatEvent(8.85673), getTaskRunFailedEvent('alerting:example'), + getTaskManagerStatEvent(4.5745), getTaskRunSuccessEvent('alerting:.index-threshold'), + getTaskManagerStatEvent(11.564), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(3.78), getTaskRunFailedEvent('alerting:example'), + getTaskManagerStatEvent(3.7863), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(3.245), getTaskRunFailedEvent('actions:webhook'), ]; const events$ = new Subject<TaskLifecycleEvent>(); @@ -393,7 +407,8 @@ describe('createAggregator', () => { taskPollingLifecycle, config, resetMetrics$: new Subject<boolean>(), - taskEventFilter: (taskEvent: TaskLifecycleEvent) => isTaskRunEvent(taskEvent), + taskEventFilter: (taskEvent: TaskLifecycleEvent) => + isTaskRunEvent(taskEvent) || isTaskManagerStatEvent(taskEvent), metricsAggregator: new TaskRunMetricsAggregator(), }); @@ -410,17 +425,53 @@ describe('createAggregator', () => { expect(metrics[0]).toEqual({ key: 'task_run', value: { - overall: { success: 1, not_timed_out: 1, total: 1 }, + overall: { + success: 0, + not_timed_out: 0, + total: 0, + delay: { counts: [1], values: [10] }, + }, + }, + }); + expect(metrics[1]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 1, + not_timed_out: 1, + total: 1, + delay: { counts: [1], values: [10] }, + }, by_type: { alerting: { success: 1, not_timed_out: 1, total: 1 }, 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, }, }, }); - expect(metrics[1]).toEqual({ + expect(metrics[2]).toEqual({ key: 'task_run', value: { - overall: { success: 2, not_timed_out: 2, total: 2 }, + overall: { + success: 1, + not_timed_out: 1, + total: 1, + delay: { counts: [1, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[3]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 2, + not_timed_out: 2, + total: 2, + delay: { counts: [1, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 1, not_timed_out: 1, total: 1 }, 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, @@ -428,10 +479,31 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[2]).toEqual({ + expect(metrics[4]).toEqual({ key: 'task_run', value: { - overall: { success: 3, not_timed_out: 3, total: 3 }, + overall: { + success: 2, + not_timed_out: 2, + total: 2, + delay: { counts: [2, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[5]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 3, + not_timed_out: 3, + total: 3, + delay: { counts: [2, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 2, not_timed_out: 2, total: 2 }, 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, @@ -439,10 +511,31 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[3]).toEqual({ + expect(metrics[6]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 3, + not_timed_out: 3, + total: 3, + delay: { counts: [2, 1, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 2, total: 2 }, + 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[7]).toEqual({ key: 'task_run', value: { - overall: { success: 4, not_timed_out: 4, total: 4 }, + overall: { + success: 4, + not_timed_out: 4, + total: 4, + delay: { counts: [2, 1, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { alerting: { success: 2, not_timed_out: 2, total: 2 }, 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, @@ -451,10 +544,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[4]).toEqual({ + expect(metrics[8]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 4, + not_timed_out: 4, + total: 4, + delay: { counts: [3, 1, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 2, total: 2 }, + 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, + report: { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[9]).toEqual({ key: 'task_run', value: { - overall: { success: 4, not_timed_out: 5, total: 5 }, + overall: { + success: 4, + not_timed_out: 5, + total: 5, + delay: { counts: [3, 1, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { alerting: { success: 2, not_timed_out: 3, total: 3 }, 'alerting:example': { success: 2, not_timed_out: 3, total: 3 }, @@ -463,10 +578,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[5]).toEqual({ + expect(metrics[10]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 4, + not_timed_out: 5, + total: 5, + delay: { counts: [4, 1, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 3, total: 3 }, + 'alerting:example': { success: 2, not_timed_out: 3, total: 3 }, + report: { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[11]).toEqual({ key: 'task_run', value: { - overall: { success: 5, not_timed_out: 6, total: 6 }, + overall: { + success: 5, + not_timed_out: 6, + total: 6, + delay: { counts: [4, 1, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { alerting: { success: 3, not_timed_out: 4, total: 4 }, 'alerting:__index-threshold': { success: 1, not_timed_out: 1, total: 1 }, @@ -476,10 +613,33 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[6]).toEqual({ + expect(metrics[12]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 5, + not_timed_out: 6, + total: 6, + delay: { counts: [4, 2, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 3, not_timed_out: 4, total: 4 }, + 'alerting:__index-threshold': { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 2, not_timed_out: 3, total: 3 }, + report: { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[13]).toEqual({ key: 'task_run', value: { - overall: { success: 6, not_timed_out: 7, total: 7 }, + overall: { + success: 6, + not_timed_out: 7, + total: 7, + delay: { counts: [4, 2, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { alerting: { success: 4, not_timed_out: 5, total: 5 }, 'alerting:__index-threshold': { success: 1, not_timed_out: 1, total: 1 }, @@ -489,10 +649,33 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[7]).toEqual({ + expect(metrics[14]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 6, + not_timed_out: 7, + total: 7, + delay: { counts: [5, 2, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 4, not_timed_out: 5, total: 5 }, + 'alerting:__index-threshold': { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 3, not_timed_out: 4, total: 4 }, + report: { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[15]).toEqual({ key: 'task_run', value: { - overall: { success: 6, not_timed_out: 8, total: 8 }, + overall: { + success: 6, + not_timed_out: 8, + total: 8, + delay: { counts: [5, 2, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { alerting: { success: 4, not_timed_out: 6, total: 6 }, 'alerting:__index-threshold': { success: 1, not_timed_out: 1, total: 1 }, @@ -502,10 +685,33 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[8]).toEqual({ + expect(metrics[16]).toEqual({ key: 'task_run', value: { - overall: { success: 7, not_timed_out: 9, total: 9 }, + overall: { + success: 6, + not_timed_out: 8, + total: 8, + delay: { counts: [6, 2, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 4, not_timed_out: 6, total: 6 }, + 'alerting:__index-threshold': { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 3, not_timed_out: 5, total: 5 }, + report: { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[17]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 7, + not_timed_out: 9, + total: 9, + delay: { counts: [6, 2, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { alerting: { success: 5, not_timed_out: 7, total: 7 }, 'alerting:__index-threshold': { success: 1, not_timed_out: 1, total: 1 }, @@ -515,10 +721,33 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[9]).toEqual({ + expect(metrics[18]).toEqual({ key: 'task_run', value: { - overall: { success: 7, not_timed_out: 10, total: 10 }, + overall: { + success: 7, + not_timed_out: 9, + total: 9, + delay: { counts: [7, 2, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 5, not_timed_out: 7, total: 7 }, + 'alerting:__index-threshold': { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 4, not_timed_out: 6, total: 6 }, + report: { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[19]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 7, + not_timed_out: 10, + total: 10, + delay: { counts: [7, 2, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { actions: { success: 0, not_timed_out: 1, total: 1 }, alerting: { success: 5, not_timed_out: 7, total: 7 }, @@ -542,18 +771,28 @@ describe('createAggregator', () => { test('resets count when resetMetric$ event is received', async () => { const resetMetrics$ = new Subject<boolean>(); const taskRunEvents1 = [ + getTaskManagerStatEvent(3.234), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(10.45), getTaskRunSuccessEvent('telemetry'), + getTaskManagerStatEvent(3.454), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(35.45), getTaskRunSuccessEvent('report'), + getTaskManagerStatEvent(8.85673), getTaskRunFailedEvent('alerting:example'), ]; const taskRunEvents2 = [ + getTaskManagerStatEvent(4.5745), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(11.564), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(3.78), getTaskRunFailedEvent('alerting:example'), + getTaskManagerStatEvent(3.7863), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(3.245), getTaskRunFailedEvent('actions:webhook'), ]; const events$ = new Subject<TaskLifecycleEvent>(); @@ -566,7 +805,8 @@ describe('createAggregator', () => { taskPollingLifecycle, config, resetMetrics$, - taskEventFilter: (taskEvent: TaskLifecycleEvent) => isTaskRunEvent(taskEvent), + taskEventFilter: (taskEvent: TaskLifecycleEvent) => + isTaskRunEvent(taskEvent) || isTaskManagerStatEvent(taskEvent), metricsAggregator: new TaskRunMetricsAggregator(), }); @@ -583,17 +823,53 @@ describe('createAggregator', () => { expect(metrics[0]).toEqual({ key: 'task_run', value: { - overall: { success: 1, not_timed_out: 1, total: 1 }, + overall: { + success: 0, + not_timed_out: 0, + total: 0, + delay: { counts: [1], values: [10] }, + }, + }, + }); + expect(metrics[1]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 1, + not_timed_out: 1, + total: 1, + delay: { counts: [1], values: [10] }, + }, by_type: { alerting: { success: 1, not_timed_out: 1, total: 1 }, 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, }, }, }); - expect(metrics[1]).toEqual({ + expect(metrics[2]).toEqual({ key: 'task_run', value: { - overall: { success: 2, not_timed_out: 2, total: 2 }, + overall: { + success: 1, + not_timed_out: 1, + total: 1, + delay: { counts: [1, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[3]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 2, + not_timed_out: 2, + total: 2, + delay: { counts: [1, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 1, not_timed_out: 1, total: 1 }, 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, @@ -601,10 +877,31 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[2]).toEqual({ + expect(metrics[4]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 2, + not_timed_out: 2, + total: 2, + delay: { counts: [2, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[5]).toEqual({ key: 'task_run', value: { - overall: { success: 3, not_timed_out: 3, total: 3 }, + overall: { + success: 3, + not_timed_out: 3, + total: 3, + delay: { counts: [2, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 2, not_timed_out: 2, total: 2 }, 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, @@ -612,10 +909,31 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[3]).toEqual({ + expect(metrics[6]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 3, + not_timed_out: 3, + total: 3, + delay: { counts: [2, 1, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 2, total: 2 }, + 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[7]).toEqual({ key: 'task_run', value: { - overall: { success: 4, not_timed_out: 4, total: 4 }, + overall: { + success: 4, + not_timed_out: 4, + total: 4, + delay: { counts: [2, 1, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { alerting: { success: 2, not_timed_out: 2, total: 2 }, 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, @@ -624,10 +942,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[4]).toEqual({ + expect(metrics[8]).toEqual({ key: 'task_run', value: { - overall: { success: 4, not_timed_out: 5, total: 5 }, + overall: { + success: 4, + not_timed_out: 4, + total: 4, + delay: { counts: [3, 1, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 2, total: 2 }, + 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, + report: { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[9]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 4, + not_timed_out: 5, + total: 5, + delay: { counts: [3, 1, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { alerting: { success: 2, not_timed_out: 3, total: 3 }, 'alerting:example': { success: 2, not_timed_out: 3, total: 3 }, @@ -637,10 +977,32 @@ describe('createAggregator', () => { }, }); // reset event should have been received here - expect(metrics[5]).toEqual({ + expect(metrics[10]).toEqual({ key: 'task_run', value: { - overall: { success: 1, not_timed_out: 1, total: 1 }, + overall: { + success: 0, + not_timed_out: 0, + total: 0, + delay: { counts: [1], values: [10] }, + }, + by_type: { + alerting: { success: 0, not_timed_out: 0, total: 0 }, + 'alerting:example': { success: 0, not_timed_out: 0, total: 0 }, + report: { success: 0, not_timed_out: 0, total: 0 }, + telemetry: { success: 0, not_timed_out: 0, total: 0 }, + }, + }, + }); + expect(metrics[11]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 1, + not_timed_out: 1, + total: 1, + delay: { counts: [1], values: [10] }, + }, by_type: { alerting: { success: 1, not_timed_out: 1, total: 1 }, 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, @@ -649,10 +1011,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[6]).toEqual({ + expect(metrics[12]).toEqual({ key: 'task_run', value: { - overall: { success: 2, not_timed_out: 2, total: 2 }, + overall: { + success: 1, + not_timed_out: 1, + total: 1, + delay: { counts: [1, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, + report: { success: 0, not_timed_out: 0, total: 0 }, + telemetry: { success: 0, not_timed_out: 0, total: 0 }, + }, + }, + }); + expect(metrics[13]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 2, + not_timed_out: 2, + total: 2, + delay: { counts: [1, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 2, not_timed_out: 2, total: 2 }, 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, @@ -661,10 +1045,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[7]).toEqual({ + expect(metrics[14]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 2, + not_timed_out: 2, + total: 2, + delay: { counts: [2, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 2, total: 2 }, + 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, + report: { success: 0, not_timed_out: 0, total: 0 }, + telemetry: { success: 0, not_timed_out: 0, total: 0 }, + }, + }, + }); + expect(metrics[15]).toEqual({ key: 'task_run', value: { - overall: { success: 2, not_timed_out: 3, total: 3 }, + overall: { + success: 2, + not_timed_out: 3, + total: 3, + delay: { counts: [2, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 2, not_timed_out: 3, total: 3 }, 'alerting:example': { success: 2, not_timed_out: 3, total: 3 }, @@ -673,10 +1079,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[8]).toEqual({ + expect(metrics[16]).toEqual({ key: 'task_run', value: { - overall: { success: 3, not_timed_out: 4, total: 4 }, + overall: { + success: 2, + not_timed_out: 3, + total: 3, + delay: { counts: [3, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 3, total: 3 }, + 'alerting:example': { success: 2, not_timed_out: 3, total: 3 }, + report: { success: 0, not_timed_out: 0, total: 0 }, + telemetry: { success: 0, not_timed_out: 0, total: 0 }, + }, + }, + }); + expect(metrics[17]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 3, + not_timed_out: 4, + total: 4, + delay: { counts: [3, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 3, not_timed_out: 4, total: 4 }, 'alerting:example': { success: 3, not_timed_out: 4, total: 4 }, @@ -685,10 +1113,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[9]).toEqual({ + expect(metrics[18]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 3, + not_timed_out: 4, + total: 4, + delay: { counts: [4, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 3, not_timed_out: 4, total: 4 }, + 'alerting:example': { success: 3, not_timed_out: 4, total: 4 }, + report: { success: 0, not_timed_out: 0, total: 0 }, + telemetry: { success: 0, not_timed_out: 0, total: 0 }, + }, + }, + }); + expect(metrics[19]).toEqual({ key: 'task_run', value: { - overall: { success: 3, not_timed_out: 5, total: 5 }, + overall: { + success: 3, + not_timed_out: 5, + total: 5, + delay: { counts: [4, 1], values: [10, 20] }, + }, by_type: { actions: { success: 0, not_timed_out: 1, total: 1 }, alerting: { success: 3, not_timed_out: 4, total: 4 }, @@ -716,18 +1166,28 @@ describe('createAggregator', () => { const clock = sinon.useFakeTimers(); clock.tick(0); const taskRunEvents1 = [ + getTaskManagerStatEvent(3.234), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(10.45), getTaskRunSuccessEvent('telemetry'), + getTaskManagerStatEvent(3.454), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(35.45), getTaskRunSuccessEvent('report'), + getTaskManagerStatEvent(8.85673), getTaskRunFailedEvent('alerting:example'), ]; const taskRunEvents2 = [ + getTaskManagerStatEvent(4.5745), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(11.564), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(3.78), getTaskRunFailedEvent('alerting:example'), + getTaskManagerStatEvent(3.7863), getTaskRunSuccessEvent('alerting:example'), + getTaskManagerStatEvent(3.245), getTaskRunFailedEvent('actions:webhook'), ]; const events$ = new Subject<TaskLifecycleEvent>(); @@ -743,7 +1203,8 @@ describe('createAggregator', () => { metrics_reset_interval: 10, }, resetMetrics$: new Subject<boolean>(), - taskEventFilter: (taskEvent: TaskLifecycleEvent) => isTaskRunEvent(taskEvent), + taskEventFilter: (taskEvent: TaskLifecycleEvent) => + isTaskRunEvent(taskEvent) || isTaskManagerStatEvent(taskEvent), metricsAggregator: new TaskRunMetricsAggregator(), }); @@ -760,17 +1221,53 @@ describe('createAggregator', () => { expect(metrics[0]).toEqual({ key: 'task_run', value: { - overall: { success: 1, not_timed_out: 1, total: 1 }, + overall: { + success: 0, + not_timed_out: 0, + total: 0, + delay: { counts: [1], values: [10] }, + }, + }, + }); + expect(metrics[1]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 1, + not_timed_out: 1, + total: 1, + delay: { counts: [1], values: [10] }, + }, + by_type: { + alerting: { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[2]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 1, + not_timed_out: 1, + total: 1, + delay: { counts: [1, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 1, not_timed_out: 1, total: 1 }, 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, }, }, }); - expect(metrics[1]).toEqual({ + expect(metrics[3]).toEqual({ key: 'task_run', value: { - overall: { success: 2, not_timed_out: 2, total: 2 }, + overall: { + success: 2, + not_timed_out: 2, + total: 2, + delay: { counts: [1, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 1, not_timed_out: 1, total: 1 }, 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, @@ -778,10 +1275,31 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[2]).toEqual({ + expect(metrics[4]).toEqual({ key: 'task_run', value: { - overall: { success: 3, not_timed_out: 3, total: 3 }, + overall: { + success: 2, + not_timed_out: 2, + total: 2, + delay: { counts: [2, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[5]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 3, + not_timed_out: 3, + total: 3, + delay: { counts: [2, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 2, not_timed_out: 2, total: 2 }, 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, @@ -789,10 +1307,31 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[3]).toEqual({ + expect(metrics[6]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 3, + not_timed_out: 3, + total: 3, + delay: { counts: [2, 1, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 2, total: 2 }, + 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[7]).toEqual({ key: 'task_run', value: { - overall: { success: 4, not_timed_out: 4, total: 4 }, + overall: { + success: 4, + not_timed_out: 4, + total: 4, + delay: { counts: [2, 1, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { alerting: { success: 2, not_timed_out: 2, total: 2 }, 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, @@ -801,10 +1340,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[4]).toEqual({ + expect(metrics[8]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 4, + not_timed_out: 4, + total: 4, + delay: { counts: [3, 1, 0, 1], values: [10, 20, 30, 40] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 2, total: 2 }, + 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, + report: { success: 1, not_timed_out: 1, total: 1 }, + telemetry: { success: 1, not_timed_out: 1, total: 1 }, + }, + }, + }); + expect(metrics[9]).toEqual({ key: 'task_run', value: { - overall: { success: 4, not_timed_out: 5, total: 5 }, + overall: { + success: 4, + not_timed_out: 5, + total: 5, + delay: { counts: [3, 1, 0, 1], values: [10, 20, 30, 40] }, + }, by_type: { alerting: { success: 2, not_timed_out: 3, total: 3 }, 'alerting:example': { success: 2, not_timed_out: 3, total: 3 }, @@ -814,10 +1375,32 @@ describe('createAggregator', () => { }, }); // reset event should have been received here - expect(metrics[5]).toEqual({ + expect(metrics[10]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 0, + not_timed_out: 0, + total: 0, + delay: { counts: [1], values: [10] }, + }, + by_type: { + alerting: { success: 0, not_timed_out: 0, total: 0 }, + 'alerting:example': { success: 0, not_timed_out: 0, total: 0 }, + report: { success: 0, not_timed_out: 0, total: 0 }, + telemetry: { success: 0, not_timed_out: 0, total: 0 }, + }, + }, + }); + expect(metrics[11]).toEqual({ key: 'task_run', value: { - overall: { success: 1, not_timed_out: 1, total: 1 }, + overall: { + success: 1, + not_timed_out: 1, + total: 1, + delay: { counts: [1], values: [10] }, + }, by_type: { alerting: { success: 1, not_timed_out: 1, total: 1 }, 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, @@ -826,10 +1409,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[6]).toEqual({ + expect(metrics[12]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 1, + not_timed_out: 1, + total: 1, + delay: { counts: [1, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 1, not_timed_out: 1, total: 1 }, + 'alerting:example': { success: 1, not_timed_out: 1, total: 1 }, + report: { success: 0, not_timed_out: 0, total: 0 }, + telemetry: { success: 0, not_timed_out: 0, total: 0 }, + }, + }, + }); + expect(metrics[13]).toEqual({ key: 'task_run', value: { - overall: { success: 2, not_timed_out: 2, total: 2 }, + overall: { + success: 2, + not_timed_out: 2, + total: 2, + delay: { counts: [1, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 2, not_timed_out: 2, total: 2 }, 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, @@ -838,10 +1443,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[7]).toEqual({ + expect(metrics[14]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 2, + not_timed_out: 2, + total: 2, + delay: { counts: [2, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 2, total: 2 }, + 'alerting:example': { success: 2, not_timed_out: 2, total: 2 }, + report: { success: 0, not_timed_out: 0, total: 0 }, + telemetry: { success: 0, not_timed_out: 0, total: 0 }, + }, + }, + }); + expect(metrics[15]).toEqual({ key: 'task_run', value: { - overall: { success: 2, not_timed_out: 3, total: 3 }, + overall: { + success: 2, + not_timed_out: 3, + total: 3, + delay: { counts: [2, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 2, not_timed_out: 3, total: 3 }, 'alerting:example': { success: 2, not_timed_out: 3, total: 3 }, @@ -850,10 +1477,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[8]).toEqual({ + expect(metrics[16]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 2, + not_timed_out: 3, + total: 3, + delay: { counts: [3, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 2, not_timed_out: 3, total: 3 }, + 'alerting:example': { success: 2, not_timed_out: 3, total: 3 }, + report: { success: 0, not_timed_out: 0, total: 0 }, + telemetry: { success: 0, not_timed_out: 0, total: 0 }, + }, + }, + }); + expect(metrics[17]).toEqual({ key: 'task_run', value: { - overall: { success: 3, not_timed_out: 4, total: 4 }, + overall: { + success: 3, + not_timed_out: 4, + total: 4, + delay: { counts: [3, 1], values: [10, 20] }, + }, by_type: { alerting: { success: 3, not_timed_out: 4, total: 4 }, 'alerting:example': { success: 3, not_timed_out: 4, total: 4 }, @@ -862,10 +1511,32 @@ describe('createAggregator', () => { }, }, }); - expect(metrics[9]).toEqual({ + expect(metrics[18]).toEqual({ key: 'task_run', value: { - overall: { success: 3, not_timed_out: 5, total: 5 }, + overall: { + success: 3, + not_timed_out: 4, + total: 4, + delay: { counts: [4, 1], values: [10, 20] }, + }, + by_type: { + alerting: { success: 3, not_timed_out: 4, total: 4 }, + 'alerting:example': { success: 3, not_timed_out: 4, total: 4 }, + report: { success: 0, not_timed_out: 0, total: 0 }, + telemetry: { success: 0, not_timed_out: 0, total: 0 }, + }, + }, + }); + expect(metrics[19]).toEqual({ + key: 'task_run', + value: { + overall: { + success: 3, + not_timed_out: 5, + total: 5, + delay: { counts: [4, 1], values: [10, 20] }, + }, by_type: { actions: { success: 0, not_timed_out: 1, total: 1 }, alerting: { success: 3, not_timed_out: 4, total: 4 }, diff --git a/x-pack/plugins/task_manager/server/metrics/metrics_stream.ts b/x-pack/plugins/task_manager/server/metrics/metrics_stream.ts index 29558308c5196..4b4ce6075d6c6 100644 --- a/x-pack/plugins/task_manager/server/metrics/metrics_stream.ts +++ b/x-pack/plugins/task_manager/server/metrics/metrics_stream.ts @@ -11,7 +11,7 @@ import { set } from '@kbn/safer-lodash-set'; import { TaskLifecycleEvent, TaskPollingLifecycle } from '../polling_lifecycle'; import { TaskManagerConfig } from '../config'; import { AggregatedStatProvider } from '../lib/runtime_statistics_aggregator'; -import { isTaskPollingCycleEvent, isTaskRunEvent } from '../task_events'; +import { isTaskManagerStatEvent, isTaskPollingCycleEvent, isTaskRunEvent } from '../task_events'; import { TaskClaimMetric, TaskClaimMetricsAggregator } from './task_claim_metrics_aggregator'; import { createAggregator } from './create_aggregator'; import { TaskRunMetric, TaskRunMetricsAggregator } from './task_run_metrics_aggregator'; @@ -54,7 +54,8 @@ export function createMetricsAggregators({ taskPollingLifecycle, config, resetMetrics$, - taskEventFilter: (taskEvent: TaskLifecycleEvent) => isTaskRunEvent(taskEvent), + taskEventFilter: (taskEvent: TaskLifecycleEvent) => + isTaskRunEvent(taskEvent) || isTaskManagerStatEvent(taskEvent), metricsAggregator: new TaskRunMetricsAggregator(), }) ); diff --git a/x-pack/plugins/task_manager/server/metrics/simple_histogram.test.ts b/x-pack/plugins/task_manager/server/metrics/simple_histogram.test.ts index 30b5d0bd6b21a..24ae09c743501 100644 --- a/x-pack/plugins/task_manager/server/metrics/simple_histogram.test.ts +++ b/x-pack/plugins/task_manager/server/metrics/simple_histogram.test.ts @@ -176,4 +176,21 @@ describe('SimpleHistogram', () => { expect(histogram.get(true)).toEqual([]); }); + + test('should correctly serialize histogram data', () => { + const histogram = new SimpleHistogram(100, 10); + histogram.record(23); + histogram.record(34); + histogram.record(21); + histogram.record(56); + histogram.record(78); + histogram.record(33); + histogram.record(99); + histogram.record(1); + histogram.record(2); + expect(histogram.serialize()).toEqual({ + counts: [2, 0, 2, 2, 0, 1, 0, 1, 0, 1], + values: [10, 20, 30, 40, 50, 60, 70, 80, 90, 100], + }); + }); }); diff --git a/x-pack/plugins/task_manager/server/metrics/simple_histogram.ts b/x-pack/plugins/task_manager/server/metrics/simple_histogram.ts index 3b2cb89a7f5dd..4b888c8cc4b3d 100644 --- a/x-pack/plugins/task_manager/server/metrics/simple_histogram.ts +++ b/x-pack/plugins/task_manager/server/metrics/simple_histogram.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { JsonObject } from '@kbn/utility-types'; import { last } from 'lodash'; interface Bucket { @@ -13,6 +14,11 @@ interface Bucket { count: number; } +export interface SerializedHistogram extends JsonObject { + counts: number[]; + values: number[]; +} + export class SimpleHistogram { private maxValue: number; private bucketSize: number; @@ -68,6 +74,18 @@ export class SimpleHistogram { })); } + public serialize(): SerializedHistogram { + const counts: number[] = []; + const values: number[] = []; + + for (const { count, value } of this.get(true)) { + counts.push(count); + values.push(value); + } + + return { counts, values }; + } + private initializeBuckets() { let i = 0; while (i < this.maxValue) { diff --git a/x-pack/plugins/task_manager/server/metrics/task_claim_metrics_aggregator.ts b/x-pack/plugins/task_manager/server/metrics/task_claim_metrics_aggregator.ts index a10ddf89c77b0..60bb2401f420d 100644 --- a/x-pack/plugins/task_manager/server/metrics/task_claim_metrics_aggregator.ts +++ b/x-pack/plugins/task_manager/server/metrics/task_claim_metrics_aggregator.ts @@ -9,7 +9,7 @@ import { JsonObject } from '@kbn/utility-types'; import { isOk } from '../lib/result_type'; import { TaskLifecycleEvent } from '../polling_lifecycle'; import { TaskRun } from '../task_events'; -import { SimpleHistogram } from './simple_histogram'; +import { SerializedHistogram, SimpleHistogram } from './simple_histogram'; import { ITaskMetricsAggregator } from './types'; import { MetricCounterService } from './counter/metric_counter_service'; @@ -26,10 +26,7 @@ interface TaskClaimCounts extends JsonObject { } export type TaskClaimMetric = TaskClaimCounts & { - duration: { - counts: number[]; - values: number[]; - }; + duration: SerializedHistogram; }; export class TaskClaimMetricsAggregator implements ITaskMetricsAggregator<TaskClaimMetric> { @@ -47,7 +44,7 @@ export class TaskClaimMetricsAggregator implements ITaskMetricsAggregator<TaskCl public collect(): TaskClaimMetric { return { ...this.counter.collect(), - duration: this.serializeHistogram(), + duration: this.durationHistogram.serialize(), }; } @@ -68,16 +65,4 @@ export class TaskClaimMetricsAggregator implements ITaskMetricsAggregator<TaskCl this.durationHistogram.record(durationInMs); } } - - private serializeHistogram() { - const counts: number[] = []; - const values: number[] = []; - - for (const { count, value } of this.durationHistogram.get(true)) { - counts.push(count); - values.push(value); - } - - return { counts, values }; - } } diff --git a/x-pack/plugins/task_manager/server/metrics/task_run_metrics_aggregator.test.ts b/x-pack/plugins/task_manager/server/metrics/task_run_metrics_aggregator.test.ts index d9e82a40eb601..628952619814d 100644 --- a/x-pack/plugins/task_manager/server/metrics/task_run_metrics_aggregator.test.ts +++ b/x-pack/plugins/task_manager/server/metrics/task_run_metrics_aggregator.test.ts @@ -8,7 +8,12 @@ import * as uuid from 'uuid'; import { asOk, asErr } from '../lib/result_type'; import { TaskStatus } from '../task'; -import { asTaskRunEvent, TaskPersistence } from '../task_events'; +import { + asTaskManagerStatEvent, + asTaskRunEvent, + TaskManagerStats, + TaskPersistence, +} from '../task_events'; import { TaskRunResult } from '../task_running'; import { TaskRunMetricsAggregator } from './task_run_metrics_aggregator'; @@ -69,6 +74,10 @@ export const getTaskRunFailedEvent = (type: string, isExpired: boolean = false) ); }; +export const getTaskManagerStatEvent = (value: number, id: TaskManagerStats = 'runDelay') => { + return asTaskManagerStatEvent(id, asOk(value)); +}; + describe('TaskRunMetricsAggregator', () => { let taskRunMetricsAggregator: TaskRunMetricsAggregator; beforeEach(() => { @@ -77,13 +86,14 @@ describe('TaskRunMetricsAggregator', () => { test('should correctly initialize', () => { expect(taskRunMetricsAggregator.collect()).toEqual({ - overall: { success: 0, not_timed_out: 0, total: 0 }, + overall: { success: 0, not_timed_out: 0, total: 0, delay: { counts: [], values: [] } }, }); }); test('should correctly return initialMetrics', () => { expect(taskRunMetricsAggregator.initialMetric()).toEqual({ - overall: { success: 0, not_timed_out: 0, total: 0 }, + overall: { success: 0, not_timed_out: 0, total: 0, delay: { counts: [], values: [] } }, + by_type: {}, }); }); @@ -91,18 +101,34 @@ describe('TaskRunMetricsAggregator', () => { taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunSuccessEvent('telemetry')); taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunSuccessEvent('telemetry')); expect(taskRunMetricsAggregator.collect()).toEqual({ - overall: { success: 2, not_timed_out: 2, total: 2 }, + overall: { success: 2, not_timed_out: 2, total: 2, delay: { counts: [], values: [] } }, by_type: { telemetry: { success: 2, not_timed_out: 2, total: 2 }, }, }); }); + test('should correctly process task manager runDelay stat', () => { + taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskManagerStatEvent(3.343)); + expect(taskRunMetricsAggregator.collect()).toEqual({ + overall: { success: 0, not_timed_out: 0, total: 0, delay: { counts: [1], values: [10] } }, + }); + }); + + test('should ignore task manager stats that are not runDelays', () => { + taskRunMetricsAggregator.processTaskLifecycleEvent( + getTaskManagerStatEvent(3.343, 'pollingDelay') + ); + expect(taskRunMetricsAggregator.collect()).toEqual({ + overall: { success: 0, not_timed_out: 0, total: 0, delay: { counts: [], values: [] } }, + }); + }); + test('should correctly process task run success event where task run has timed out', () => { taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunSuccessEvent('telemetry', true)); taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunSuccessEvent('telemetry', true)); expect(taskRunMetricsAggregator.collect()).toEqual({ - overall: { success: 2, not_timed_out: 0, total: 2 }, + overall: { success: 2, not_timed_out: 0, total: 2, delay: { counts: [], values: [] } }, by_type: { telemetry: { success: 2, not_timed_out: 0, total: 2 }, }, @@ -113,7 +139,7 @@ describe('TaskRunMetricsAggregator', () => { taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunFailedEvent('telemetry')); taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunFailedEvent('telemetry')); expect(taskRunMetricsAggregator.collect()).toEqual({ - overall: { success: 0, not_timed_out: 2, total: 2 }, + overall: { success: 0, not_timed_out: 2, total: 2, delay: { counts: [], values: [] } }, by_type: { telemetry: { success: 0, not_timed_out: 2, total: 2 }, }, @@ -124,7 +150,7 @@ describe('TaskRunMetricsAggregator', () => { taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunFailedEvent('telemetry', true)); taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunFailedEvent('telemetry', true)); expect(taskRunMetricsAggregator.collect()).toEqual({ - overall: { success: 0, not_timed_out: 0, total: 2 }, + overall: { success: 0, not_timed_out: 0, total: 2, delay: { counts: [], values: [] } }, by_type: { telemetry: { success: 0, not_timed_out: 0, total: 2 }, }, @@ -137,7 +163,7 @@ describe('TaskRunMetricsAggregator', () => { taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunSuccessEvent('report', true)); taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunFailedEvent('telemetry')); expect(taskRunMetricsAggregator.collect()).toEqual({ - overall: { success: 3, not_timed_out: 3, total: 4 }, + overall: { success: 3, not_timed_out: 3, total: 4, delay: { counts: [], values: [] } }, by_type: { report: { success: 2, not_timed_out: 1, total: 2 }, telemetry: { success: 1, not_timed_out: 2, total: 2 }, @@ -167,7 +193,7 @@ describe('TaskRunMetricsAggregator', () => { getTaskRunSuccessEvent('alerting:.index-threshold', true) ); expect(taskRunMetricsAggregator.collect()).toEqual({ - overall: { success: 11, not_timed_out: 12, total: 14 }, + overall: { success: 11, not_timed_out: 12, total: 14, delay: { counts: [], values: [] } }, by_type: { actions: { success: 3, not_timed_out: 3, total: 3 }, 'actions:__email': { success: 1, not_timed_out: 1, total: 1 }, @@ -182,6 +208,11 @@ describe('TaskRunMetricsAggregator', () => { }); test('should correctly reset counter', () => { + taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskManagerStatEvent(3.343)); + taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskManagerStatEvent(25.45)); + taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskManagerStatEvent(6.4478)); + taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskManagerStatEvent(9.241)); + taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunSuccessEvent('telemetry')); taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunSuccessEvent('report')); taskRunMetricsAggregator.processTaskLifecycleEvent(getTaskRunSuccessEvent('report')); @@ -203,7 +234,12 @@ describe('TaskRunMetricsAggregator', () => { getTaskRunSuccessEvent('alerting:.index-threshold') ); expect(taskRunMetricsAggregator.collect()).toEqual({ - overall: { success: 11, not_timed_out: 12, total: 14 }, + overall: { + success: 11, + not_timed_out: 12, + total: 14, + delay: { counts: [3, 0, 1], values: [10, 20, 30] }, + }, by_type: { actions: { success: 3, not_timed_out: 3, total: 3 }, 'actions:__email': { success: 1, not_timed_out: 1, total: 1 }, @@ -218,7 +254,7 @@ describe('TaskRunMetricsAggregator', () => { taskRunMetricsAggregator.reset(); expect(taskRunMetricsAggregator.collect()).toEqual({ - overall: { success: 0, not_timed_out: 0, total: 0 }, + overall: { success: 0, not_timed_out: 0, total: 0, delay: { counts: [], values: [] } }, by_type: { actions: { success: 0, not_timed_out: 0, total: 0 }, 'actions:__email': { success: 0, not_timed_out: 0, total: 0 }, diff --git a/x-pack/plugins/task_manager/server/metrics/task_run_metrics_aggregator.ts b/x-pack/plugins/task_manager/server/metrics/task_run_metrics_aggregator.ts index 685c5a8cc8838..ced75af5718eb 100644 --- a/x-pack/plugins/task_manager/server/metrics/task_run_metrics_aggregator.ts +++ b/x-pack/plugins/task_manager/server/metrics/task_run_metrics_aggregator.ts @@ -6,14 +6,26 @@ */ import { JsonObject } from '@kbn/utility-types'; -import { isOk, unwrap } from '../lib/result_type'; +import { merge } from 'lodash'; +import { isOk, Ok, unwrap } from '../lib/result_type'; import { TaskLifecycleEvent } from '../polling_lifecycle'; -import { ErroredTask, RanTask, TaskRun } from '../task_events'; +import { + ErroredTask, + RanTask, + TaskRun, + isTaskManagerStatEvent, + isTaskRunEvent, + TaskManagerStat, +} from '../task_events'; import { MetricCounterService } from './counter/metric_counter_service'; +import { SerializedHistogram, SimpleHistogram } from './simple_histogram'; import { ITaskMetricsAggregator } from './types'; const taskTypeGrouping = new Set<string>(['alerting:', 'actions:']); +const HDR_HISTOGRAM_MAX = 1800; // 30 minutes +const HDR_HISTOGRAM_BUCKET_SIZE = 10; // 10 seconds + enum TaskRunKeys { SUCCESS = 'success', NOT_TIMED_OUT = 'not_timed_out', @@ -31,33 +43,53 @@ interface TaskRunCounts extends JsonObject { [TaskRunKeys.TOTAL]: number; } -export interface TaskRunMetric extends JsonObject { +export interface TaskRunMetrics extends JsonObject { [TaskRunMetricKeys.OVERALL]: TaskRunCounts; [TaskRunMetricKeys.BY_TYPE]: { [key: string]: TaskRunCounts; }; } +export interface TaskRunMetric extends JsonObject { + overall: TaskRunMetrics['overall'] & { + delay: SerializedHistogram; + }; + by_type: TaskRunMetrics['by_type']; +} + export class TaskRunMetricsAggregator implements ITaskMetricsAggregator<TaskRunMetric> { private counter: MetricCounterService<TaskRunMetric> = new MetricCounterService( Object.values(TaskRunKeys), TaskRunMetricKeys.OVERALL ); + private delayHistogram = new SimpleHistogram(HDR_HISTOGRAM_MAX, HDR_HISTOGRAM_BUCKET_SIZE); public initialMetric(): TaskRunMetric { - return this.counter.initialMetrics(); + return merge(this.counter.initialMetrics(), { + by_type: {}, + overall: { delay: { counts: [], values: [] } }, + }); } public collect(): TaskRunMetric { - return this.counter.collect(); + return merge(this.counter.collect(), { overall: { delay: this.delayHistogram.serialize() } }); } public reset() { this.counter.reset(); + this.delayHistogram.reset(); } public processTaskLifecycleEvent(taskEvent: TaskLifecycleEvent) { - const { task, isExpired }: RanTask | ErroredTask = unwrap((taskEvent as TaskRun).event); + if (isTaskRunEvent(taskEvent)) { + this.processTaskRunEvent(taskEvent); + } else if (isTaskManagerStatEvent(taskEvent)) { + this.processTaskManagerStatEvent(taskEvent); + } + } + + private processTaskRunEvent(taskEvent: TaskRun) { + const { task, isExpired }: RanTask | ErroredTask = unwrap(taskEvent.event); const success = isOk((taskEvent as TaskRun).event); const taskType = task.taskType.replaceAll('.', '__'); const taskTypeGroup = this.getTaskTypeGroup(taskType); @@ -76,6 +108,13 @@ export class TaskRunMetricsAggregator implements ITaskMetricsAggregator<TaskRunM } } + private processTaskManagerStatEvent(taskEvent: TaskManagerStat) { + if (taskEvent.id === 'runDelay') { + const delayInSec = Math.round((taskEvent.event as Ok<number>).value); + this.delayHistogram.record(delayInSec); + } + } + private incrementCounters(key: TaskRunKeys, taskType: string, group?: string) { this.counter.increment(key, TaskRunMetricKeys.OVERALL); this.counter.increment(key, `${TaskRunMetricKeys.BY_TYPE}.${taskType}`); diff --git a/x-pack/plugins/task_manager/server/task_events.ts b/x-pack/plugins/task_manager/server/task_events.ts index 68eaec9d9b28e..63aacd125b1b0 100644 --- a/x-pack/plugins/task_manager/server/task_events.ts +++ b/x-pack/plugins/task_manager/server/task_events.ts @@ -89,7 +89,8 @@ export type TaskManagerStats = | 'claimDuration' | 'queuedEphemeralTasks' | 'ephemeralTaskDelay' - | 'workerUtilization'; + | 'workerUtilization' + | 'runDelay'; export type TaskManagerStat = TaskEvent<number, never, TaskManagerStats>; export type OkResultOf<EventType> = EventType extends TaskEvent<infer OkResult, infer ErrorResult> diff --git a/x-pack/plugins/task_manager/server/task_running/task_runner.test.ts b/x-pack/plugins/task_manager/server/task_running/task_runner.test.ts index 6676c17ccc630..1ae176d6993b3 100644 --- a/x-pack/plugins/task_manager/server/task_running/task_runner.test.ts +++ b/x-pack/plugins/task_manager/server/task_running/task_runner.test.ts @@ -16,6 +16,7 @@ import { asTaskMarkRunningEvent, TaskRun, TaskPersistence, + asTaskManagerStatEvent, } from '../task_events'; import { ConcreteTaskInstance, TaskStatus } from '../task'; import { SavedObjectsErrorHelpers } from '@kbn/core/server'; @@ -927,7 +928,10 @@ describe('TaskManagerRunner', () => { ) ) ); - expect(onTaskEvent).toHaveBeenCalledTimes(1); + expect(onTaskEvent).toHaveBeenCalledWith( + asTaskManagerStatEvent('runDelay', asOk(expect.any(Number))) + ); + expect(onTaskEvent).toHaveBeenCalledTimes(2); }); test('tasks that return runAt override the schedule', async () => { @@ -1300,6 +1304,9 @@ describe('TaskManagerRunner', () => { ) ) ); + expect(onTaskEvent).toHaveBeenCalledWith( + asTaskManagerStatEvent('runDelay', asOk(expect.any(Number))) + ); }); test('emits TaskEvent when a recurring task is run successfully', async () => { @@ -1381,6 +1388,9 @@ describe('TaskManagerRunner', () => { ) ) ); + expect(onTaskEvent).toHaveBeenCalledWith( + asTaskManagerStatEvent('runDelay', asOk(expect.any(Number))) + ); }); test('emits TaskEvent when a recurring task returns a success result with hasError=true', async () => { @@ -1502,7 +1512,7 @@ describe('TaskManagerRunner', () => { ) ) ); - expect(onTaskEvent).toHaveBeenCalledTimes(1); + expect(onTaskEvent).toHaveBeenCalledTimes(2); }); test('emits TaskEvent when a task run throws an error and has timed out', async () => { @@ -1544,7 +1554,10 @@ describe('TaskManagerRunner', () => { ) ) ); - expect(onTaskEvent).toHaveBeenCalledTimes(1); + expect(onTaskEvent).toHaveBeenCalledWith( + asTaskManagerStatEvent('runDelay', asOk(expect.any(Number))) + ); + expect(onTaskEvent).toHaveBeenCalledTimes(2); }); test('emits TaskEvent when a task run returns an error', async () => { @@ -1586,7 +1599,10 @@ describe('TaskManagerRunner', () => { ) ) ); - expect(onTaskEvent).toHaveBeenCalledTimes(1); + expect(onTaskEvent).toHaveBeenCalledWith( + asTaskManagerStatEvent('runDelay', asOk(expect.any(Number))) + ); + expect(onTaskEvent).toHaveBeenCalledTimes(2); }); test('emits TaskEvent when a task returns an error and is marked as failed', async () => { @@ -1639,7 +1655,10 @@ describe('TaskManagerRunner', () => { ) ) ); - expect(onTaskEvent).toHaveBeenCalledTimes(1); + expect(onTaskEvent).toHaveBeenCalledWith( + asTaskManagerStatEvent('runDelay', asOk(expect.any(Number))) + ); + expect(onTaskEvent).toHaveBeenCalledTimes(2); }); }); diff --git a/x-pack/plugins/task_manager/server/task_running/task_runner.ts b/x-pack/plugins/task_manager/server/task_running/task_runner.ts index 1742d88bc8f07..63f520ade1031 100644 --- a/x-pack/plugins/task_manager/server/task_running/task_runner.ts +++ b/x-pack/plugins/task_manager/server/task_running/task_runner.ts @@ -33,11 +33,13 @@ import { import { asTaskMarkRunningEvent, asTaskRunEvent, + asTaskManagerStatEvent, startTaskTimerWithEventLoopMonitoring, TaskMarkRunning, TaskPersistence, TaskRun, TaskTiming, + TaskManagerStat, } from '../task_events'; import { intervalFromDate, maxIntervalFromDate } from '../lib/intervals'; import { @@ -101,7 +103,7 @@ type Opts = { definitions: TaskTypeDictionary; instance: ConcreteTaskInstance; store: Updatable; - onTaskEvent?: (event: TaskRun | TaskMarkRunning) => void; + onTaskEvent?: (event: TaskRun | TaskMarkRunning | TaskManagerStat) => void; defaultMaxAttempts: number; executionContext: ExecutionContextStart; usageCounter?: UsageCounter; @@ -149,7 +151,7 @@ export class TaskManagerRunner implements TaskRunner { private bufferedTaskStore: Updatable; private beforeRun: Middleware['beforeRun']; private beforeMarkRunning: Middleware['beforeMarkRunning']; - private onTaskEvent: (event: TaskRun | TaskMarkRunning) => void; + private onTaskEvent: (event: TaskRun | TaskMarkRunning | TaskManagerStat) => void; private defaultMaxAttempts: number; private uuid: string; private readonly executionContext: ExecutionContextStart; @@ -310,6 +312,13 @@ export class TaskManagerRunner implements TaskRunner { const stopTaskTimer = startTaskTimerWithEventLoopMonitoring(this.eventLoopDelayConfig); + this.onTaskEvent( + asTaskManagerStatEvent( + 'runDelay', + asOk(getTaskDelayInSeconds(this.instance.task.scheduledAt)) + ) + ); + try { this.task = this.definition.createTaskRunner(modifiedContext); @@ -893,3 +902,8 @@ export function calculateDelay(attempts: number) { return defaultBackoffPerFailure * Math.pow(2, attempts - 2); } } + +export function getTaskDelayInSeconds(scheduledAt: Date) { + const now = new Date(); + return (now.valueOf() - scheduledAt.valueOf()) / 1000; +} diff --git a/x-pack/test/plugin_api_integration/test_suites/task_manager/metrics_route.ts b/x-pack/test/plugin_api_integration/test_suites/task_manager/metrics_route.ts index 7a0507959c117..faf3f63712ce4 100644 --- a/x-pack/test/plugin_api_integration/test_suites/task_manager/metrics_route.ts +++ b/x-pack/test/plugin_api_integration/test_suites/task_manager/metrics_route.ts @@ -207,13 +207,20 @@ export default function ({ getService }: FtrProviderContext) { .send({ task: { id: ruleId } }) .expect(200); - await getMetrics( - false, - (metrics) => - metrics?.metrics?.task_run?.value.by_type.alerting?.total === i + 2 && - metrics?.metrics?.task_run?.value.by_type.alerting?.not_timed_out === i + 2 && - metrics?.metrics?.task_run?.value.by_type.alerting?.success === i + 2 - ); + const metrics = ( + await getMetrics( + false, + (m) => + m?.metrics?.task_run?.value.by_type.alerting?.total === i + 2 && + m?.metrics?.task_run?.value.by_type.alerting?.not_timed_out === i + 2 && + m?.metrics?.task_run?.value.by_type.alerting?.success === i + 2 + ) + ).metrics; + + // check that delay histogram exists + expect(metrics?.task_run?.value?.overall?.delay).not.to.be(null); + expect(Array.isArray(metrics?.task_run?.value?.overall?.delay.counts)).to.be(true); + expect(Array.isArray(metrics?.task_run?.value?.overall?.delay.values)).to.be(true); } // counter should reset on its own From 543dbcbd48a14f2549e7ec7c8947fe5ce495daa4 Mon Sep 17 00:00:00 2001 From: James Rodewig <james.rodewig@elastic.co> Date: Mon, 18 Sep 2023 14:32:47 -0400 Subject: [PATCH 099/149] [DOCS] Add security update to 8.10.0 release notes (#166656) --- docs/CHANGELOG.asciidoc | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index 297a347e721ba..253770bb7332d 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -76,6 +76,22 @@ IMPORTANT: {kib} 8.10.0 has been withdrawn. For information about the {kib} 8.10.0 release, review the following information. +[float] +[[security-updates-v8.10.0]] +=== Security Updates + +* An issue was discovered by Elastic whereby sensitive information is recorded +in {kib} logs in the event of an error. The issue impacts only {kib} version +8.10.0 when logging in the JSON layout or when the pattern layout is configured +to log the `%meta` pattern. ++ +The issue is resolved in {kib} 8.10.1. Version 8.10.0 has been removed from our +download sites. ++ +For more information, see our related +https://discuss.elastic.co/t/kibana-8-10-1-security-update/343287[security +announcement]. + [float] [[breaking-changes-8.10.0]] === Breaking changes From 6bf6d7650b51beacdcb777a5fc681b93a8749f2f Mon Sep 17 00:00:00 2001 From: Jeramy Soucy <jeramy.soucy@elastic.co> Date: Mon, 18 Sep 2023 15:34:56 -0400 Subject: [PATCH 100/149] Unskips serverless user profile API tests (#165516) Closes #165769 Closes #165391 Unskips the serverless user profile API integration tests (still skipped for MKI only). Flaky Runner: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3166 --- .../test_suites/common/security/user_profiles.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/x-pack/test_serverless/api_integration/test_suites/common/security/user_profiles.ts b/x-pack/test_serverless/api_integration/test_suites/common/security/user_profiles.ts index 64650c5f47548..83ef0c4335679 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/security/user_profiles.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/security/user_profiles.ts @@ -16,8 +16,7 @@ export default function ({ getService }: FtrProviderContext) { describe('security/user_profiles', function () { describe('route access', () => { - // FLAKY: https://github.com/elastic/kibana/issues/165391 - describe.skip('internal', () => { + describe('internal', () => { // When we run tests on MKI, SAML realm is configured differently, and we cannot handcraft SAML responses to // log in as SAML users. this.tags(['skipMKI']); From a97bfb32009cba9f8a40666977fc2a60ec53645f Mon Sep 17 00:00:00 2001 From: Lola <omolola.akinleye@elastic.co> Date: Mon, 18 Sep 2023 16:44:12 -0400 Subject: [PATCH 101/149] [Cloud Security]add cnvm dashboard link to package assets page (#166474) ## Summary [Quick wins](https://github.com/elastic/security-team/issues/7436) Add dashboard link panel to assets page. https://github.com/elastic/kibana/assets/17135495/ea1f5044-19aa-42c0-87da-516ed7bdad3c --- .../fleet_extensions/custom_assets_extension.tsx | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/custom_assets_extension.tsx b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/custom_assets_extension.tsx index 0536c69a94701..774acadbd03ba 100644 --- a/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/custom_assets_extension.tsx +++ b/x-pack/plugins/cloud_security_posture/public/components/fleet_extensions/custom_assets_extension.tsx @@ -23,6 +23,16 @@ export const CspCustomAssetsExtension = () => { .integration; const viewsCNVM: CustomAssetsAccordionProps['views'] = [ + { + name: cloudPosturePages.vulnerability_dashboard.name, + url: application.getUrlForApp(SECURITY_APP_NAME, { + path: cloudPosturePages.vulnerability_dashboard.path, + }), + description: i18n.translate( + 'xpack.csp.createPackagePolicy.customAssetsTab.vulnerabilityDashboardViewLabel', + { defaultMessage: 'View CNVM Dashboard' } + ), + }, { name: cloudPosturePages.findings.name, url: application.getUrlForApp(SECURITY_APP_NAME, { From c486443e7665684f744f25804d079bbfa2f3f1c2 Mon Sep 17 00:00:00 2001 From: Ersin Erdal <92688503+ersin-erdal@users.noreply.github.com> Date: Mon, 18 Sep 2023 23:05:38 +0200 Subject: [PATCH 102/149] Elasticsearch Query rule can group by multi-terms (#166146) Resolves: #163829 This PR allows multiple group-by terms to be selected in Elasticsearch query rule. <img width="841" alt="Screenshot 2023-09-11 at 22 53 34" src="https://github.com/elastic/kibana/assets/92688503/19e2dc93-0f5d-4af2-a814-41e812c5b7b7"> <img width="930" alt="Screenshot 2023-09-11 at 22 53 53" src="https://github.com/elastic/kibana/assets/92688503/617e08d3-4384-41d9-bb7d-ab15292e5055"> --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Ying Mao <ying.mao@elastic.co> --- .../plugins/stack_alerts/common/constants.ts | 2 + .../public/rule_types/es_query/constants.ts | 1 + .../expression/es_query_expression.tsx | 1 + .../search_source_expression_form.tsx | 16 +- .../rule_common_expressions.test.tsx | 27 ++ .../rule_common_expressions.tsx | 3 + .../public/rule_types/es_query/types.ts | 2 +- .../rule_types/es_query/validation.test.ts | 40 +++ .../public/rule_types/es_query/validation.ts | 19 +- .../public/rule_types/threshold/types.ts | 2 +- .../es_query/rule_type_params.test.ts | 44 ++- .../rule_types/es_query/rule_type_params.ts | 8 +- x-pack/plugins/triggers_actions_ui/README.md | 10 +- .../common/data/lib/build_agg.test.ts | 61 ++++ .../common/data/lib/build_agg.ts | 22 +- .../expression_items/group_by_over.test.tsx | 304 +++++++++++------- .../common/expression_items/group_by_over.tsx | 123 ++++--- .../builtin_alert_types/es_query/rule.ts | 71 +++- 18 files changed, 560 insertions(+), 196 deletions(-) diff --git a/x-pack/plugins/stack_alerts/common/constants.ts b/x-pack/plugins/stack_alerts/common/constants.ts index cac00873face2..e846b249081e0 100644 --- a/x-pack/plugins/stack_alerts/common/constants.ts +++ b/x-pack/plugins/stack_alerts/common/constants.ts @@ -6,3 +6,5 @@ */ export const STACK_ALERTS_FEATURE_ID = 'stackAlerts'; + +export const MAX_SELECTABLE_GROUP_BY_TERMS = 4; diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/constants.ts b/x-pack/plugins/stack_alerts/public/rule_types/es_query/constants.ts index 4cce902449d18..f99b97634fc5a 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/constants.ts +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/constants.ts @@ -22,6 +22,7 @@ export const DEFAULT_VALUES = { TERM_SIZE: 5, GROUP_BY: 'all', EXCLUDE_PREVIOUS_HITS: true, + CAN_SELECT_MULTI_TERMS: true, }; export const COMMON_EXPRESSION_ERRORS = { diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/es_query_expression.tsx b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/es_query_expression.tsx index 2119879c26b39..7a9bb590af73b 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/es_query_expression.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/es_query_expression.tsx @@ -351,6 +351,7 @@ export const EsQueryExpression: React.FC< (exclude) => setParam('excludeHitsFromPreviousRun', exclude), [setParam] )} + canSelectMultiTerms={DEFAULT_VALUES.CAN_SELECT_MULTI_TERMS} /> <EuiSpacer /> diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/search_source_expression_form.tsx b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/search_source_expression_form.tsx index 1cc45801ffe65..b6c4cdd72bf62 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/search_source_expression_form.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/expression/search_source_expression_form.tsx @@ -14,12 +14,8 @@ import { EuiSpacer, EuiTitle } from '@elastic/eui'; import { IErrorObject } from '@kbn/triggers-actions-ui-plugin/public'; import type { SearchBarProps } from '@kbn/unified-search-plugin/public'; import type { DataView } from '@kbn/data-views-plugin/public'; -import { - mapAndFlattenFilters, - getTime, - type SavedQuery, - type ISearchSource, -} from '@kbn/data-plugin/public'; +import { mapAndFlattenFilters, getTime } from '@kbn/data-plugin/public'; +import type { SavedQuery, ISearchSource } from '@kbn/data-plugin/public'; import { BUCKET_SELECTOR_FIELD, buildAggregation, @@ -51,7 +47,9 @@ interface LocalState extends CommonRuleParams { interface LocalStateAction { type: SearchSourceParamsAction['type'] | keyof CommonRuleParams; - payload: SearchSourceParamsAction['payload'] | (number[] | number | string | boolean | undefined); + payload: + | SearchSourceParamsAction['payload'] + | (number[] | number | string | string[] | boolean | undefined); } type LocalStateReducer = (prevState: LocalState, action: LocalStateAction) => LocalState; @@ -201,7 +199,8 @@ export const SearchSourceExpressionForm = (props: SearchSourceExpressionFormProp ); const onChangeSelectedTermField = useCallback( - (selectedTermField?: string) => dispatch({ type: 'termField', payload: selectedTermField }), + (selectedTermField?: string | string[]) => + dispatch({ type: 'termField', payload: selectedTermField }), [] ); @@ -372,6 +371,7 @@ export const SearchSourceExpressionForm = (props: SearchSourceExpressionFormProp onCopyQuery={onCopyQuery} excludeHitsFromPreviousRun={ruleConfiguration.excludeHitsFromPreviousRun} onChangeExcludeHitsFromPreviousRun={onChangeExcludeHitsFromPreviousRun} + canSelectMultiTerms={DEFAULT_VALUES.CAN_SELECT_MULTI_TERMS} /> <EuiSpacer /> </Fragment> diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/rule_common_expressions/rule_common_expressions.test.tsx b/x-pack/plugins/stack_alerts/public/rule_types/es_query/rule_common_expressions/rule_common_expressions.test.tsx index 119f0e02cdca2..267b289cf5ca8 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/rule_common_expressions/rule_common_expressions.test.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/rule_common_expressions/rule_common_expressions.test.tsx @@ -217,6 +217,33 @@ describe('RuleCommonExpressions', () => { ); }); + test(`should use multiple group by terms`, async () => { + const aggType = 'avg'; + const thresholdComparator = 'between'; + const timeWindowSize = 987; + const timeWindowUnit = 's'; + const threshold = [3, 1003]; + const groupBy = 'top'; + const termSize = '27'; + const termField = ['term', 'term2']; + + const wrapper = await setup({ + ruleParams: getCommonParams({ + aggType, + thresholdComparator, + timeWindowSize, + timeWindowUnit, + termSize, + termField, + groupBy, + threshold, + }), + }); + expect(wrapper.find('button[data-test-subj="groupByExpression"]').text()).toEqual( + `grouped over ${groupBy} ${termSize} 'term,term2'` + ); + }); + test(`should disable excludeHitsFromPreviousRuns when groupBy is not all`, async () => { const aggType = 'avg'; const thresholdComparator = 'between'; diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/rule_common_expressions/rule_common_expressions.tsx b/x-pack/plugins/stack_alerts/public/rule_types/es_query/rule_common_expressions/rule_common_expressions.tsx index d74fce210354c..cee08144f307e 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/rule_common_expressions/rule_common_expressions.tsx +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/rule_common_expressions/rule_common_expressions.tsx @@ -52,6 +52,7 @@ export interface RuleCommonExpressionsProps extends CommonRuleParams { onTestFetch: TestQueryRowProps['fetch']; onCopyQuery?: TestQueryRowProps['copyQuery']; onChangeExcludeHitsFromPreviousRun: (exclude: boolean) => void; + canSelectMultiTerms?: boolean; } export const RuleCommonExpressions: React.FC<RuleCommonExpressionsProps> = ({ @@ -82,6 +83,7 @@ export const RuleCommonExpressions: React.FC<RuleCommonExpressionsProps> = ({ onCopyQuery, excludeHitsFromPreviousRun, onChangeExcludeHitsFromPreviousRun, + canSelectMultiTerms, }) => { const [isExcludeHitsDisabled, setIsExcludeHitsDisabled] = useState<boolean>(false); @@ -127,6 +129,7 @@ export const RuleCommonExpressions: React.FC<RuleCommonExpressionsProps> = ({ errors={errors} fields={esFields} display="fullWidth" + canSelectMultiTerms={canSelectMultiTerms} onChangeSelectedGroupBy={onChangeSelectedGroupBy} onChangeSelectedTermField={onChangeSelectedTermField} onChangeSelectedTermSize={onChangeSelectedTermSize} diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/types.ts b/x-pack/plugins/stack_alerts/public/rule_types/es_query/types.ts index c7a298ebce22a..93b184f855232 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/types.ts +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/types.ts @@ -27,7 +27,7 @@ export interface CommonRuleParams { aggField?: string; groupBy?: string; termSize?: number; - termField?: string; + termField?: string | string[]; excludeHitsFromPreviousRun: boolean; } diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.test.ts b/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.test.ts index 90df11eb0c557..54363fe1010f3 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.test.ts +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.test.ts @@ -103,6 +103,46 @@ describe('expression params validation', () => { expect(validateExpression(initialParams).errors.termField[0]).toBe('Term field is required.'); }); + test('if termField property is an array but has no items should return proper error message', () => { + const initialParams: EsQueryRuleParams<SearchType.esQuery> = { + index: ['test'], + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, + timeWindowSize: 1, + timeWindowUnit: 's', + threshold: [0], + timeField: '', + excludeHitsFromPreviousRun: true, + aggType: 'count', + groupBy: 'top', + termSize: 10, + termField: [], + }; + expect(validateExpression(initialParams).errors.termField.length).toBeGreaterThan(0); + expect(validateExpression(initialParams).errors.termField[0]).toBe('Term field is required.'); + }); + + test('if termField property is an array but has more than 4 items, should return proper error message', () => { + const initialParams: EsQueryRuleParams<SearchType.esQuery> = { + index: ['test'], + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, + timeWindowSize: 1, + timeWindowUnit: 's', + threshold: [0], + timeField: '', + excludeHitsFromPreviousRun: true, + aggType: 'count', + groupBy: 'top', + termSize: 10, + termField: ['term', 'term2', 'term3', 'term4', 'term5'], + }; + expect(validateExpression(initialParams).errors.termField.length).toBeGreaterThan(0); + expect(validateExpression(initialParams).errors.termField[0]).toBe( + 'Cannot select more than 4 terms' + ); + }); + test('if esQuery property is invalid JSON should return proper error message', () => { const initialParams: EsQueryRuleParams<SearchType.esQuery> = { index: ['test'], diff --git a/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.ts b/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.ts index f2d1de5ef8695..5830a506a0073 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.ts +++ b/x-pack/plugins/stack_alerts/public/rule_types/es_query/validation.ts @@ -14,6 +14,7 @@ import { builtInGroupByTypes, COMPARATORS, } from '@kbn/triggers-actions-ui-plugin/public'; +import { MAX_SELECTABLE_GROUP_BY_TERMS } from '../../../common/constants'; import { EsQueryRuleParams, SearchType } from './types'; import { isEsqlQueryRule, isSearchSourceRule } from './util'; import { @@ -72,7 +73,7 @@ const validateCommonParams = (ruleParams: EsQueryRuleParams) => { groupBy && builtInGroupByTypes[groupBy].validNormalizedTypes && builtInGroupByTypes[groupBy].validNormalizedTypes.length > 0 && - !termField + (!termField || termField.length <= 0) ) { errors.termField.push( i18n.translate('xpack.stackAlerts.esQuery.ui.validation.error.requiredTermFieldText', { @@ -81,6 +82,22 @@ const validateCommonParams = (ruleParams: EsQueryRuleParams) => { ); } + if ( + groupBy && + builtInGroupByTypes[groupBy].validNormalizedTypes && + builtInGroupByTypes[groupBy].validNormalizedTypes.length > 0 && + termField && + Array.isArray(termField) && + termField.length > MAX_SELECTABLE_GROUP_BY_TERMS + ) { + errors.termField.push( + i18n.translate('xpack.stackAlerts.esQuery.ui.validation.error.overNumberedTermFieldText', { + defaultMessage: `Cannot select more than {max} terms`, + values: { max: MAX_SELECTABLE_GROUP_BY_TERMS }, + }) + ); + } + if (!threshold || threshold.length === 0 || threshold[0] === undefined) { errors.threshold0.push( i18n.translate('xpack.stackAlerts.esQuery.ui.validation.error.requiredThreshold0Text', { diff --git a/x-pack/plugins/stack_alerts/public/rule_types/threshold/types.ts b/x-pack/plugins/stack_alerts/public/rule_types/threshold/types.ts index 83679f34fbb53..4e539d1f41784 100644 --- a/x-pack/plugins/stack_alerts/public/rule_types/threshold/types.ts +++ b/x-pack/plugins/stack_alerts/public/rule_types/threshold/types.ts @@ -34,7 +34,7 @@ export interface IndexThresholdRuleParams extends RuleTypeParams { aggField?: string; groupBy?: string; termSize?: number; - termField?: string; + termField?: string | string[]; thresholdComparator?: string; threshold: number[]; timeWindowSize: number; diff --git a/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type_params.test.ts b/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type_params.test.ts index 7e99ded206b2c..b6011e72bbcc7 100644 --- a/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type_params.test.ts +++ b/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type_params.test.ts @@ -179,15 +179,51 @@ describe('ruleType Params validate()', () => { }); it('fails for invalid termField', async () => { + params.termField = ['term', 'term 2']; + params.termSize = 1; + expect(onValidate()).not.toThrow(); + + params.termField = 'term'; + params.termSize = 1; + expect(onValidate()).not.toThrow(); + + // string or array of string params.groupBy = 'top'; params.termField = 42; - expect(onValidate()).toThrowErrorMatchingInlineSnapshot( - `"[termField]: expected value of type [string] but got [number]"` + expect(onValidate()).toThrow(`[termField]: types that failed validation: +- [termField.0]: expected value of type [string] but got [number] +- [termField.1]: expected value of type [array] but got [number]`); + + // no array other than array of stings + params.termField = [1, 2, 3]; + expect(onValidate()).toThrow( + `[termField]: types that failed validation: +- [termField.0]: expected value of type [string] but got [Array] +- [termField.1.0]: expected value of type [string] but got [number]` ); + // no empty string params.termField = ''; - expect(onValidate()).toThrowErrorMatchingInlineSnapshot( - `"[termField]: value has length [0] but it must have a minimum length of [1]."` + expect(onValidate()).toThrow( + `[termField]: types that failed validation: +- [termField.0]: value has length [0] but it must have a minimum length of [1]. +- [termField.1]: could not parse array value from json input` + ); + + // no array with one element -> has to be a string + params.termField = ['term']; + expect(onValidate()).toThrow( + `[termField]: types that failed validation: +- [termField.0]: expected value of type [string] but got [Array] +- [termField.1]: array size is [1], but cannot be smaller than [2]` + ); + + // no array that has more than 4 elements + params.termField = ['term', 'term2', 'term3', 'term4', 'term4']; + expect(onValidate()).toThrow( + `[termField]: types that failed validation: +- [termField.0]: expected value of type [string] but got [Array] +- [termField.1]: array size is [5], but cannot be greater than [4]` ); }); diff --git a/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type_params.ts b/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type_params.ts index 1897ebad6c1ee..5469c6fa60247 100644 --- a/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type_params.ts +++ b/x-pack/plugins/stack_alerts/server/rule_types/es_query/rule_type_params.ts @@ -15,6 +15,7 @@ import { } from '@kbn/triggers-actions-ui-plugin/server'; import { RuleTypeState } from '@kbn/alerting-plugin/server'; import { SerializedSearchSourceFields } from '@kbn/data-plugin/common'; +import { MAX_SELECTABLE_GROUP_BY_TERMS } from '../../../common/constants'; import { ComparatorFnNames } from '../../../common'; import { Comparator } from '../../../common/comparator_types'; import { getComparatorSchemaType } from '../lib/comparator'; @@ -48,7 +49,12 @@ const EsQueryRuleParamsSchemaProperties = { // how to group groupBy: schema.string({ validate: validateGroupBy, defaultValue: 'all' }), // field to group on (for groupBy: top) - termField: schema.maybe(schema.string({ minLength: 1 })), + termField: schema.maybe( + schema.oneOf([ + schema.string({ minLength: 1 }), + schema.arrayOf(schema.string(), { minSize: 2, maxSize: MAX_SELECTABLE_GROUP_BY_TERMS }), + ]) + ), // limit on number of groups returned termSize: schema.maybe(schema.number({ min: 1 })), searchType: schema.oneOf( diff --git a/x-pack/plugins/triggers_actions_ui/README.md b/x-pack/plugins/triggers_actions_ui/README.md index c65ac1eff0347..4678324fdbef4 100644 --- a/x-pack/plugins/triggers_actions_ui/README.md +++ b/x-pack/plugins/triggers_actions_ui/README.md @@ -535,10 +535,10 @@ Props definition: interface GroupByExpressionProps { groupBy: string; termSize?: number; - termField?: string; + termField?: string | string[]; errors: { [key: string]: string[] }; onChangeSelectedTermSize: (selectedTermSize?: number) => void; - onChangeSelectedTermField: (selectedTermField?: string) => void; + onChangeSelectedTermField: (selectedTermField?: string | string[]) => void; onChangeSelectedGroupBy: (selectedGroupBy?: string) => void; fields: Record<string, any>; customGroupByTypes?: { @@ -555,9 +555,9 @@ interface GroupByExpressionProps { | termSize | Selected term size that will be set as the alert type property. | | termField | Selected term field that will be set as the alert type property. | | errors | List of errors with proper messages for the alert params that should be validated. In current component is validated `termSize` and `termField`. | -| onChangeSelectedTermSize | Event handler that will be excuted if selected term size is changed. | -| onChangeSelectedTermField | Event handler that will be excuted if selected term field is changed. | -| onChangeSelectedGroupBy | Event handler that will be excuted if selected group by is changed. | +| onChangeSelectedTermSize | Event handler that will be executed if selected term size is changed. | +| onChangeSelectedTermField | Event handler that will be executed if selected term field is changed. | +| onChangeSelectedGroupBy | Event handler that will be executed if selected group by is changed. | | fields | Fields list with options for the `termField` dropdown. | | customGroupByTypes | (Optional) List of group by types that replaces the default options defined in constants `x-pack/plugins/triggers_actions_ui/public/common/constants/group_by_types.ts`. | | popupPosition | (Optional) expression popup position. Default is `downLeft`. Recommend changing it for a small parent window space. | diff --git a/x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.test.ts b/x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.test.ts index 42278057d124c..1925954ea7bb9 100644 --- a/x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.test.ts +++ b/x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.test.ts @@ -247,6 +247,67 @@ describe('buildAgg', () => { }); }); + it('should create correct aggregation when condition params are defined and timeSeries is defined and multi terms selected', async () => { + expect( + buildAggregation({ + timeSeries: { + timeField: 'time-field', + timeWindowSize: 5, + timeWindowUnit: 'm', + dateStart: '2021-04-22T15:19:31Z', + dateEnd: '2021-04-22T15:20:31Z', + interval: '1m', + }, + aggType: 'count', + aggField: undefined, + termField: ['the-term', 'second-term'], + termSize: 10, + condition: { + resultLimit: 1000, + conditionScript: `params.compareValue > 1`, + }, + }) + ).toEqual({ + groupAgg: { + multi_terms: { + size: 10, + terms: [{ field: 'the-term' }, { field: 'second-term' }], + }, + aggs: { + conditionSelector: { + bucket_selector: { + buckets_path: { + compareValue: '_count', + }, + script: `params.compareValue > 1`, + }, + }, + dateAgg: { + date_range: { + field: 'time-field', + format: 'strict_date_time', + ranges: [ + { + from: '2021-04-22T15:14:31.000Z', + to: '2021-04-22T15:19:31.000Z', + }, + { + from: '2021-04-22T15:15:31.000Z', + to: '2021-04-22T15:20:31.000Z', + }, + ], + }, + }, + }, + }, + groupAggCount: { + stats_bucket: { + buckets_path: 'groupAgg._count', + }, + }, + }); + }); + it('should create correct aggregation when condition params are defined and timeSeries is undefined', async () => { expect( buildAggregation({ diff --git a/x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.ts b/x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.ts index 5362682e0b848..2c6ccac04c638 100644 --- a/x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.ts +++ b/x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.ts @@ -19,7 +19,7 @@ export interface BuildAggregationOpts { aggType: string; aggField?: string; termSize?: number; - termField?: string; + termField?: string | string[]; topHitsSize?: number; condition?: { resultLimit?: number; @@ -32,7 +32,7 @@ export const BUCKET_SELECTOR_FIELD = `params.${BUCKET_SELECTOR_PATH_NAME}`; export const DEFAULT_GROUPS = 100; export const isCountAggregation = (aggType: string) => aggType === 'count'; -export const isGroupAggregation = (termField?: string) => !!termField; +export const isGroupAggregation = (termField?: string | string[]) => !!termField; export const buildAggregation = ({ timeSeries, @@ -48,6 +48,7 @@ export const buildAggregation = ({ }; const isCountAgg = isCountAggregation(aggType); const isGroupAgg = isGroupAggregation(termField); + const isMultiTerms = Array.isArray(termField); const isDateAgg = !!timeSeries; const includeConditionInQuery = !!condition; @@ -82,10 +83,19 @@ export const buildAggregation = ({ if (isGroupAgg) { aggParent.aggs = { groupAgg: { - terms: { - field: termField, - size: terms, - }, + ...(isMultiTerms + ? { + multi_terms: { + terms: termField.map((field) => ({ field })), + size: terms, + }, + } + : { + terms: { + field: termField, + size: terms, + }, + }), }, ...(includeConditionInQuery ? { diff --git a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/group_by_over.test.tsx b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/group_by_over.test.tsx index 07c1378eee85e..a80d3ac3299cc 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/group_by_over.test.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/group_by_over.test.tsx @@ -6,146 +6,216 @@ */ import * as React from 'react'; -import { shallow } from 'enzyme'; -import { mountWithIntl, nextTick } from '@kbn/test-jest-helpers'; -import { act } from 'react-dom/test-utils'; import { GroupByExpression } from './group_by_over'; -import { FormattedMessage } from '@kbn/i18n-react'; +import { render, screen, fireEvent, configure } from '@testing-library/react'; +import { __IntlProvider as IntlProvider } from '@kbn/i18n-react'; describe('group by expression', () => { - it('renders with builtin group by types', () => { + configure({ testIdAttribute: 'data-test-subj' }); + it('renders with builtin group by types', async () => { const onChangeSelectedTermField = jest.fn(); const onChangeSelectedGroupBy = jest.fn(); const onChangeSelectedTermSize = jest.fn(); - const wrapper = shallow( - <GroupByExpression - errors={{ termSize: [], termField: [] }} - fields={[]} - groupBy={'all'} - onChangeSelectedGroupBy={onChangeSelectedGroupBy} - onChangeSelectedTermField={onChangeSelectedTermField} - onChangeSelectedTermSize={onChangeSelectedTermSize} - /> + render( + <IntlProvider locale="en"> + <GroupByExpression + errors={{ termSize: [], termField: [] }} + fields={[]} + groupBy={'all'} + onChangeSelectedGroupBy={onChangeSelectedGroupBy} + onChangeSelectedTermField={onChangeSelectedTermField} + onChangeSelectedTermSize={onChangeSelectedTermSize} + /> + </IntlProvider> ); - expect(wrapper.find('[data-test-subj="overExpressionSelect"]')).toMatchInlineSnapshot(` - <EuiSelect - data-test-subj="overExpressionSelect" - onChange={[Function]} - options={ - Array [ - Object { - "text": "all documents", - "value": "all", - }, - Object { - "text": "top", - "value": "top", - }, - ] - } - value="all" - /> - `); + fireEvent.click(screen.getByTestId('groupByExpression')); + + expect(await screen.findByRole('dialog')).toBeInTheDocument(); + + expect(screen.getByRole('option', { name: 'all documents' })).toBeInTheDocument(); + expect(screen.getByRole('option', { name: 'top' })).toBeInTheDocument(); }); - it('renders with aggregation type fields', () => { + it('clears selected agg field if fields does not contain current selection', async () => { const onChangeSelectedTermField = jest.fn(); - const onChangeSelectedGroupBy = jest.fn(); - const onChangeSelectedTermSize = jest.fn(); - const wrapper = shallow( - <GroupByExpression - errors={{ termSize: [], termField: [] }} - fields={[ - { - normalizedType: 'number', - name: 'test', - type: 'long', - searchable: true, - aggregatable: true, - }, - ]} - groupBy={'top'} - onChangeSelectedGroupBy={onChangeSelectedGroupBy} - onChangeSelectedTermField={onChangeSelectedTermField} - onChangeSelectedTermSize={onChangeSelectedTermSize} - /> + render( + <IntlProvider locale="en"> + <GroupByExpression + errors={{ termSize: [], termField: [] }} + fields={[ + { + normalizedType: 'number', + name: 'test', + type: 'long', + searchable: true, + aggregatable: true, + }, + ]} + termField="notavailable" + groupBy={'top'} + onChangeSelectedGroupBy={() => {}} + onChangeSelectedTermSize={() => {}} + onChangeSelectedTermField={onChangeSelectedTermField} + /> + </IntlProvider> ); + expect(onChangeSelectedTermField).toHaveBeenCalledTimes(1); + expect(onChangeSelectedTermField).toHaveBeenCalledWith(undefined); + }); - expect(wrapper.find('[data-test-subj="fieldsExpressionSelect"]')).toMatchInlineSnapshot(` - <EuiSelect - data-test-subj="fieldsExpressionSelect" - isInvalid={false} - onBlur={[Function]} - onChange={[Function]} - options={ - Array [ - Object { - "text": "Select a field", - "value": "", - }, - Object { - "text": "test", - "value": "test", - }, - ] - } + it('clears selected agg field if there is unknown field', async () => { + const onChangeSelectedTermField = jest.fn(); + render( + <IntlProvider locale="en"> + <GroupByExpression + errors={{ termSize: [], termField: [] }} + fields={[ + { + normalizedType: 'number', + name: 'test', + type: 'long', + searchable: true, + aggregatable: true, + }, + ]} + termField={['test', 'unknown']} + groupBy={'top'} + onChangeSelectedGroupBy={() => {}} + onChangeSelectedTermSize={() => {}} + onChangeSelectedTermField={onChangeSelectedTermField} /> - `); + </IntlProvider> + ); + expect(onChangeSelectedTermField).toHaveBeenCalledTimes(1); + expect(onChangeSelectedTermField).toHaveBeenCalledWith(undefined); }); - it('renders with default aggreagation type preselected if no aggType was set', () => { + it('clears selected agg field if groupBy field is all', async () => { const onChangeSelectedTermField = jest.fn(); - const onChangeSelectedGroupBy = jest.fn(); - const onChangeSelectedTermSize = jest.fn(); - const wrapper = shallow( - <GroupByExpression - errors={{ termSize: [], termField: [] }} - fields={[]} - groupBy={'all'} - onChangeSelectedGroupBy={onChangeSelectedGroupBy} - onChangeSelectedTermField={onChangeSelectedTermField} - onChangeSelectedTermSize={onChangeSelectedTermSize} - /> + render( + <IntlProvider locale="en"> + <GroupByExpression + errors={{ termSize: [], termField: [] }} + fields={[ + { + normalizedType: 'number', + name: 'test', + type: 'long', + searchable: true, + aggregatable: true, + }, + ]} + termField={['test']} + groupBy={'all'} + onChangeSelectedGroupBy={() => {}} + onChangeSelectedTermSize={() => {}} + onChangeSelectedTermField={onChangeSelectedTermField} + /> + </IntlProvider> ); - wrapper.simulate('click'); - expect(wrapper.find('[value="all"]').length > 0).toBeTruthy(); - expect( - wrapper.contains( - <FormattedMessage - id="xpack.triggersActionsUI.common.expressionItems.groupByType.overButtonLabel" - defaultMessage="over" + + expect(onChangeSelectedTermField).toHaveBeenCalledTimes(1); + expect(onChangeSelectedTermField).toHaveBeenCalledWith(undefined); + }); + + it('calls onChangeSelectedTermField when a termField is selected', async () => { + const onChangeSelectedTermField = jest.fn(); + render( + <IntlProvider locale="en"> + <GroupByExpression + errors={{ termSize: [], termField: [] }} + fields={[ + { + normalizedType: 'number', + name: 'field1', + type: 'long', + searchable: true, + aggregatable: true, + }, + { + normalizedType: 'number', + name: 'field2', + type: 'long', + searchable: true, + aggregatable: true, + }, + ]} + termSize={1} + groupBy={'top'} + onChangeSelectedGroupBy={() => {}} + onChangeSelectedTermSize={() => {}} + onChangeSelectedTermField={onChangeSelectedTermField} /> - ) - ).toBeTruthy(); + </IntlProvider> + ); + + expect(onChangeSelectedTermField).not.toHaveBeenCalled(); + + fireEvent.click(screen.getByTestId('groupByExpression')); + + expect(await screen.findByText(/You are in a dialog/)).toBeInTheDocument(); + + fireEvent.click(screen.getByTestId('comboBoxToggleListButton')); + + const option1 = screen.getByText('field1'); + expect(option1).toBeInTheDocument(); + fireEvent.click(option1); + expect(onChangeSelectedTermField).toHaveBeenCalledWith('field1'); + + const option2 = screen.getByText('field2'); + expect(option2).toBeInTheDocument(); + fireEvent.click(option2); + expect(onChangeSelectedTermField).toHaveBeenCalledWith('field2'); }); - it('clears selected agg field if fields does not contain current selection', async () => { + it('calls onChangeSelectedTermField when multiple termFields are selected', async () => { const onChangeSelectedTermField = jest.fn(); - const wrapper = mountWithIntl( - <GroupByExpression - errors={{ termSize: [], termField: [] }} - fields={[ - { - normalizedType: 'number', - name: 'test', - type: 'long', - searchable: true, - aggregatable: true, - }, - ]} - termField="notavailable" - groupBy={'all'} - onChangeSelectedGroupBy={() => {}} - onChangeSelectedTermSize={() => {}} - onChangeSelectedTermField={onChangeSelectedTermField} - /> + render( + <IntlProvider locale="en"> + <GroupByExpression + errors={{ termSize: [], termField: [] }} + fields={[ + { + normalizedType: 'number', + name: 'field1', + type: 'long', + searchable: true, + aggregatable: true, + }, + { + normalizedType: 'number', + name: 'field2', + type: 'long', + searchable: true, + aggregatable: true, + }, + ]} + termSize={1} + groupBy="top" + onChangeSelectedGroupBy={() => {}} + onChangeSelectedTermSize={() => {}} + onChangeSelectedTermField={onChangeSelectedTermField} + canSelectMultiTerms={true} + /> + </IntlProvider> ); + expect(onChangeSelectedTermField).not.toHaveBeenCalled(); + + fireEvent.click(screen.getByTestId('groupByExpression')); + + expect(await screen.findByText(/You are in a dialog/)).toBeInTheDocument(); + + // dropdown is closed + expect(screen.queryByText('field1')).not.toBeInTheDocument(); + fireEvent.click(screen.getByTestId('comboBoxToggleListButton')); - await act(async () => { - await nextTick(); - wrapper.update(); - }); + // dropdown is open + expect(screen.getByText('field1')).toBeInTheDocument(); + fireEvent.click(screen.getByText('field1')); + expect(onChangeSelectedTermField).toHaveBeenCalledWith('field1'); - expect(onChangeSelectedTermField).toHaveBeenCalledWith(''); + fireEvent.click(screen.getByText('field2')); + expect(onChangeSelectedTermField).toHaveBeenCalledTimes(2); + expect(onChangeSelectedTermField).toHaveBeenCalledWith(['field1', 'field2']); }); }); diff --git a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/group_by_over.tsx b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/group_by_over.tsx index 0819f7541d1cc..1a6901ffb5dec 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/expression_items/group_by_over.tsx +++ b/x-pack/plugins/triggers_actions_ui/public/common/expression_items/group_by_over.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import React, { useEffect, useState } from 'react'; +import React, { useEffect, useMemo, useState } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; import { css } from '@emotion/react'; import { i18n } from '@kbn/i18n'; @@ -17,6 +17,8 @@ import { EuiFormRow, EuiSelect, EuiFieldNumber, + EuiComboBoxOptionOption, + EuiComboBox, } from '@elastic/eui'; import { builtInGroupByTypes } from '../constants'; import { FieldOption, GroupByType } from '../types'; @@ -24,18 +26,17 @@ import { ClosablePopoverTitle } from './components'; import { IErrorObject } from '../../types'; interface GroupByOverFieldOption { - text: string; - value: string; + label: string; } export interface GroupByExpressionProps { groupBy: string; errors: IErrorObject; onChangeSelectedTermSize: (selectedTermSize?: number) => void; - onChangeSelectedTermField: (selectedTermField?: string) => void; + onChangeSelectedTermField: (selectedTermField?: string | string[]) => void; onChangeSelectedGroupBy: (selectedGroupBy?: string) => void; fields: FieldOption[]; termSize?: number; - termField?: string; + termField?: string | string[]; customGroupByTypes?: { [key: string]: GroupByType; }; @@ -53,6 +54,7 @@ export interface GroupByExpressionProps { | 'rightUp' | 'rightDown'; display?: 'fullWidth' | 'inline'; + canSelectMultiTerms?: boolean; } export const GroupByExpression = ({ @@ -67,45 +69,55 @@ export const GroupByExpression = ({ termField, customGroupByTypes, popupPosition, + canSelectMultiTerms, }: GroupByExpressionProps) => { const groupByTypes = customGroupByTypes ?? builtInGroupByTypes; const [groupByPopoverOpen, setGroupByPopoverOpen] = useState(false); const MIN_TERM_SIZE = 1; const MAX_TERM_SIZE = 1000; - const firstFieldOption: GroupByOverFieldOption = { - text: i18n.translate( - 'xpack.triggersActionsUI.common.expressionItems.groupByType.timeFieldOptionLabel', - { - defaultMessage: 'Select a field', - } - ), - value: '', - }; - const availableFieldOptions: GroupByOverFieldOption[] = fields.reduce( - (options: GroupByOverFieldOption[], field: FieldOption) => { - if (groupByTypes[groupBy].validNormalizedTypes.includes(field.normalizedType)) { - options.push({ - text: field.name, - value: field.name, - }); - } - return options; - }, - [firstFieldOption] + const availableFieldOptions: GroupByOverFieldOption[] = useMemo( + () => + fields.reduce((options: GroupByOverFieldOption[], field: FieldOption) => { + if (groupByTypes[groupBy].validNormalizedTypes.includes(field.normalizedType)) { + options.push({ label: field.name }); + } + return options; + }, []), + [groupByTypes, fields, groupBy] ); + const initialTermFieldOptions = useMemo(() => { + let initialFields: string[] = []; + + if (!!termField) { + initialFields = Array.isArray(termField) ? termField : [termField]; + } + return initialFields.map((field: string) => ({ + label: field, + })); + }, [termField]); + + const [selectedTermsFieldsOptions, setSelectedTermsFieldsOptions] = + useState<GroupByOverFieldOption[]>(initialTermFieldOptions); + + useEffect(() => { + if (groupBy === builtInGroupByTypes.all.value && selectedTermsFieldsOptions.length > 0) { + setSelectedTermsFieldsOptions([]); + onChangeSelectedTermField(undefined); + } + }, [selectedTermsFieldsOptions, groupBy, onChangeSelectedTermField]); + useEffect(() => { // if current field set doesn't contain selected field, clear selection - if ( - termField && - termField.length > 0 && - fields.length > 0 && - !fields.find((field: FieldOption) => field.name === termField) - ) { - onChangeSelectedTermField(''); + const hasUnknownField = selectedTermsFieldsOptions.some( + (fieldOption) => !fields.some((field) => field.name === fieldOption.label) + ); + if (hasUnknownField) { + setSelectedTermsFieldsOptions([]); + onChangeSelectedTermField(undefined); } - }, [termField, fields, onChangeSelectedTermField]); + }, [selectedTermsFieldsOptions, fields, onChangeSelectedTermField]); return ( <EuiPopover @@ -137,7 +149,7 @@ export const GroupByExpression = ({ setGroupByPopoverOpen(true); }} display={display === 'inline' ? 'inline' : 'columns'} - isInvalid={!(groupBy === 'all' || (termSize && termField))} + isInvalid={!(groupBy === 'all' || (termSize && termField && termField.length > 0))} /> } isOpen={groupByPopoverOpen} @@ -157,7 +169,7 @@ export const GroupByExpression = ({ /> </ClosablePopoverTitle> <EuiFlexGroup justifyContent="spaceBetween"> - <EuiFlexItem grow={false}> + <EuiFlexItem grow={1}> <EuiSelect data-test-subj="overExpressionSelect" value={groupBy} @@ -182,7 +194,7 @@ export const GroupByExpression = ({ {groupByTypes[groupBy].sizeRequired ? ( <> - <EuiFlexItem grow={false}> + <EuiFlexItem grow={1}> <EuiFormRow isInvalid={errors.termSize.length > 0} error={errors.termSize}> <EuiFieldNumber data-test-subj="fieldsNumberSelect" @@ -201,24 +213,33 @@ export const GroupByExpression = ({ /> </EuiFormRow> </EuiFlexItem> - <EuiFlexItem grow={false}> - <EuiFormRow - isInvalid={errors.termField.length > 0 && termField !== undefined} - error={errors.termField} - > - <EuiSelect + <EuiFlexItem grow={2}> + <EuiFormRow isInvalid={errors.termField.length > 0} error={errors.termField}> + <EuiComboBox + singleSelection={canSelectMultiTerms ? false : { asPlainText: true }} + placeholder={i18n.translate( + 'xpack.triggersActionsUI.common.expressionItems.groupByType.timeFieldOptionLabel', + { + defaultMessage: 'Select a field', + } + )} data-test-subj="fieldsExpressionSelect" - value={termField} - isInvalid={errors.termField.length > 0 && termField !== undefined} - onChange={(e) => { - onChangeSelectedTermField(e.target.value); + isInvalid={errors.termField.length > 0} + selectedOptions={selectedTermsFieldsOptions} + onChange={( + selectedOptions: Array<EuiComboBoxOptionOption<GroupByOverFieldOption>> + ) => { + const selectedTermFields = selectedOptions.map((option) => option.label); + + const termsToSave = + Array.isArray(selectedTermFields) && selectedTermFields.length > 1 + ? selectedTermFields + : selectedTermFields[0]; + + onChangeSelectedTermField(termsToSave); + setSelectedTermsFieldsOptions(selectedOptions); }} options={availableFieldOptions} - onBlur={() => { - if (termField === undefined) { - onChangeSelectedTermField(''); - } - }} /> </EuiFormRow> </EuiFlexItem> diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group3/builtin_alert_types/es_query/rule.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group3/builtin_alert_types/es_query/rule.ts index c0b9113fa6143..25ca53c52e429 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group3/builtin_alert_types/es_query/rule.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group3/builtin_alert_types/es_query/rule.ts @@ -368,6 +368,75 @@ export default function ruleTests({ getService }: FtrProviderContext) { }) ); + [ + [ + 'esQuery', + async () => { + await createRule({ + name: 'always fire', + esQuery: `{\n \"query\":{\n \"match_all\" : {}\n }\n}`, + size: 100, + thresholdComparator: '>', + threshold: [-1], + groupBy: 'top', + termField: ['group', 'testedValue'], + termSize: 2, + }); + }, + ] as const, + [ + 'searchSource', + async () => { + const esTestDataView = await indexPatterns.create( + { title: ES_TEST_INDEX_NAME, timeFieldName: 'date' }, + { override: true }, + getUrlPrefix(Spaces.space1.id) + ); + await createRule({ + name: 'always fire', + size: 100, + thresholdComparator: '>', + threshold: [-1], + searchType: 'searchSource', + searchConfiguration: { + query: { + query: '', + language: 'kuery', + }, + index: esTestDataView.id, + filter: [], + }, + groupBy: 'top', + termField: ['group', 'testedValue'], + termSize: 2, + }); + }, + ] as const, + ].forEach(([searchType, initData]) => + it(`runs correctly: threshold on grouped with multi term hit count < > for ${searchType} search type`, async () => { + // write documents from now to the future end date in groups + await createGroupedEsDocumentsInGroups(ES_GROUPS_TO_WRITE, endDate); + await initData(); + + const docs = await waitForDocs(2); + for (let i = 0; i < docs.length; i++) { + const doc = docs[i]; + const { previousTimestamp, hits } = doc._source; + const { name, title, message } = doc._source.params; + + expect(name).to.be('always fire'); + const titlePattern = /rule 'always fire' matched query for group group-\d/; + expect(title).to.match(titlePattern); + const messagePattern = + /rule 'always fire' is active:\n\n- Value: \d+\n- Conditions Met: Number of matching documents for group \"group-\d,\d{1,2}\" is greater than -1 over 20s\n- Timestamp: \d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z/; + expect(message).to.match(messagePattern); + expect(hits).not.to.be.empty(); + + expect(previousTimestamp).to.be.empty(); + } + }) + ); + [ [ 'esQuery', @@ -1044,7 +1113,7 @@ export default function ruleTests({ getService }: FtrProviderContext) { aggType?: string; aggField?: string; groupBy?: string; - termField?: string; + termField?: string | string[]; termSize?: number; } From fb2533eacab10244439559fffeee6265c66315b1 Mon Sep 17 00:00:00 2001 From: Maxim Kholod <maxim.kholod@elastic.co> Date: Mon, 18 Sep 2023 23:52:44 +0200 Subject: [PATCH 103/149] [Cloud Security] fix agent version on cloudformation template in Cloud Security integrations (#166485) ## Summary fixes - https://github.com/elastic/security-team/issues/7557 using the new `useAgentVersion` hook to get the agent version to prefill in the Cloudformation template There is already a PR with the same fix https://github.com/elastic/kibana/pull/166198 but as it also changes the logic of `useAgentVersion` itself, it might take some time to align. This PR only fixes the immediate issue we have in Serverless --- .../hooks/use_create_cloud_formation_url.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/x-pack/plugins/fleet/public/hooks/use_create_cloud_formation_url.ts b/x-pack/plugins/fleet/public/hooks/use_create_cloud_formation_url.ts index 45e5b259afd15..9e5c2008f262c 100644 --- a/x-pack/plugins/fleet/public/hooks/use_create_cloud_formation_url.ts +++ b/x-pack/plugins/fleet/public/hooks/use_create_cloud_formation_url.ts @@ -12,7 +12,7 @@ import type { CloudSecurityIntegrationAwsAccountType, } from '../components/agent_enrollment_flyout/types'; -import { useKibanaVersion } from './use_kibana_version'; +import { useAgentVersion } from './use_agent_version'; import { useGetSettings } from './use_request'; const CLOUD_FORMATION_DEFAULT_ACCOUNT_TYPE = 'single-account'; @@ -26,7 +26,7 @@ export const useCreateCloudFormationUrl = ({ }) => { const { data, isLoading } = useGetSettings(); - const kibanaVersion = useKibanaVersion(); + const agentVersion = useAgentVersion(); let isError = false; let error: string | undefined; @@ -49,12 +49,12 @@ export const useCreateCloudFormationUrl = ({ } const cloudFormationUrl = - enrollmentAPIKey && fleetServerHost && cloudFormationProps?.templateUrl + enrollmentAPIKey && fleetServerHost && cloudFormationProps?.templateUrl && agentVersion ? createCloudFormationUrl( cloudFormationProps?.templateUrl, enrollmentAPIKey, fleetServerHost, - kibanaVersion, + agentVersion, cloudFormationProps?.awsAccountType ) : undefined; @@ -71,15 +71,18 @@ const createCloudFormationUrl = ( templateURL: string, enrollmentToken: string, fleetUrl: string, - kibanaVersion: string, + agentVersion: string, awsAccountType: CloudSecurityIntegrationAwsAccountType | undefined ) => { let cloudFormationUrl; + /* + template url has `¶m_ElasticAgentVersion=KIBANA_VERSION` part. KIBANA_VERSION is used for templating as agent version used to match Kibana version, but now it's not necessarily the case + */ cloudFormationUrl = templateURL .replace('FLEET_ENROLLMENT_TOKEN', enrollmentToken) .replace('FLEET_URL', fleetUrl) - .replace('KIBANA_VERSION', kibanaVersion); + .replace('KIBANA_VERSION', agentVersion); if (cloudFormationUrl.includes('ACCOUNT_TYPE')) { cloudFormationUrl = cloudFormationUrl.replace( From b7ba000b86304cccd999e112abc7b41bd4832a7e Mon Sep 17 00:00:00 2001 From: Bree Hall <40739624+breehall@users.noreply.github.com> Date: Mon, 18 Sep 2023 18:23:59 -0400 Subject: [PATCH 104/149] Upgrade EUI to v88.3.0 (#166292) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit EUI `88.2.0` ➡️ `88.3.0` ## [`88.3.0`](https://github.com/elastic/eui/tree/v88.3.0) - `EuiGlobalToastList` now shows a "Clear all" button by default once above a certain number of toasts (defaults to 3). This threshold is configurable with the `showClearAllButtonAt` prop ([#7111](https://github.com/elastic/eui/pull/7111)) - Added an optional `onClearAllToasts` callback to `EuiGlobalToastList` ([#7111](https://github.com/elastic/eui/pull/7111)) - Added the `value`, `onChange`, and `onCancel` props that allow `EuiInlineEdit` to be used as a controlled component ([#7157](https://github.com/elastic/eui/pull/7157)) - Added `grabOmnidirectional`, `transitionLeftIn`, `transitionLeftOut`, `transitionTopIn`, and `transitionTopOut` icon glyphs. ([#7168](https://github.com/elastic/eui/pull/7168)) **Bug fixes** - Fixed `EuiInlineEdit` components to correctly spread `...rest` attributes to the parent wrapper ([#7157](https://github.com/elastic/eui/pull/7157)) - Fixed `EuiListGroupItem` to correctly render the `extraAction` button when `showToolTip` is also passed ([#7159](https://github.com/elastic/eui/pull/7159)) **Dependency updates** - Updated `@hello-pangea/dnd` to v16.3.0 ([#7125](https://github.com/elastic/eui/pull/7125)) - Updated `@types/lodash` to v4.14.198 ([#7126](https://github.com/elastic/eui/pull/7126)) **Accessibility** - `EuiAccordion` now correctly respects reduced motion settings ([#7161](https://github.com/elastic/eui/pull/7161)) - `EuiAccordion` now shows a focus outline to keyboard users around its revealed children on open ([#7161](https://github.com/elastic/eui/pull/7161)) **CSS-in-JS conversions** - Converted `EuiSplitPanel` to Emotion ([#7172](https://github.com/elastic/eui/pull/7172)) ⚠️ As a quick heads up, serverless tests appear to have been extremely flake/failure-prone the last couple weeks, particularly Cypress tests. We've evaluated the listed failures and fixed ones that were related to changes in this PR, and we're relatively confident the remaining failures are not related to changes from EUI. Please let us know if you think this is not the case. --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Cee Chen <constance.chen@elastic.co> Co-authored-by: Jon <jon@elastic.co> --- package.json | 2 +- .../collapsible_nav.test.tsx.snap | 389 +++++++------ .../__snapshots__/i18n_service.test.tsx.snap | 4 +- .../src/i18n_eui_mapping.tsx | 21 +- packages/kbn-cypress-config/index.ts | 13 + .../__snapshots__/comments.test.tsx.snap | 514 +++++++++--------- .../kbn-ui-shared-deps-npm/webpack.config.js | 2 +- src/dev/license_checker/config.ts | 2 +- .../page_objects/unified_field_list.ts | 2 +- .../snapshots/session/combined_test0.json | 1 - .../snapshots/session/combined_test1.json | 1 - .../snapshots/session/combined_test2.json | 1 - .../snapshots/session/combined_test3.json | 1 - .../snapshots/session/essql.json | 1 - .../snapshots/session/final_output_test.json | 1 - .../snapshots/session/metric_all_data.json | 1 - .../snapshots/session/metric_empty_data.json | 1 - .../session/metric_invalid_data.json | 1 - .../session/metric_multi_metric_data.json | 1 - .../session/metric_percentage_mode.json | 1 - .../session/metric_single_metric_data.json | 1 - .../snapshots/session/partial_test_1.json | 1 - .../snapshots/session/partial_test_2.json | 1 - .../snapshots/session/step_output_test0.json | 1 - .../snapshots/session/step_output_test1.json | 1 - .../snapshots/session/step_output_test2.json | 1 - .../snapshots/session/step_output_test3.json | 1 - .../snapshots/session/tagcloud_all_data.json | 1 - .../session/tagcloud_empty_data.json | 1 - .../snapshots/session/tagcloud_fontsize.json | 1 - .../session/tagcloud_invalid_data.json | 1 - .../session/tagcloud_metric_data.json | 1 - .../snapshots/session/tagcloud_options.json | 1 - .../public/components/chat/chat_item.tsx | 8 +- .../app/custom_logs/configure_logs.tsx | 2 +- ...screen_capture_panel_content.test.tsx.snap | 270 ++++----- .../translations/translations/fr-FR.json | 1 - .../translations/translations/ja-JP.json | 1 - .../translations/translations/zh-CN.json | 1 - .../lib/check_action_type_enabled.scss | 4 +- yarn.lock | 47 +- 41 files changed, 636 insertions(+), 671 deletions(-) delete mode 100644 test/interpreter_functional/snapshots/session/combined_test0.json delete mode 100644 test/interpreter_functional/snapshots/session/combined_test1.json delete mode 100644 test/interpreter_functional/snapshots/session/combined_test2.json delete mode 100644 test/interpreter_functional/snapshots/session/combined_test3.json delete mode 100644 test/interpreter_functional/snapshots/session/essql.json delete mode 100644 test/interpreter_functional/snapshots/session/final_output_test.json delete mode 100644 test/interpreter_functional/snapshots/session/metric_all_data.json delete mode 100644 test/interpreter_functional/snapshots/session/metric_empty_data.json delete mode 100644 test/interpreter_functional/snapshots/session/metric_invalid_data.json delete mode 100644 test/interpreter_functional/snapshots/session/metric_multi_metric_data.json delete mode 100644 test/interpreter_functional/snapshots/session/metric_percentage_mode.json delete mode 100644 test/interpreter_functional/snapshots/session/metric_single_metric_data.json delete mode 100644 test/interpreter_functional/snapshots/session/partial_test_1.json delete mode 100644 test/interpreter_functional/snapshots/session/partial_test_2.json delete mode 100644 test/interpreter_functional/snapshots/session/step_output_test0.json delete mode 100644 test/interpreter_functional/snapshots/session/step_output_test1.json delete mode 100644 test/interpreter_functional/snapshots/session/step_output_test2.json delete mode 100644 test/interpreter_functional/snapshots/session/step_output_test3.json delete mode 100644 test/interpreter_functional/snapshots/session/tagcloud_all_data.json delete mode 100644 test/interpreter_functional/snapshots/session/tagcloud_empty_data.json delete mode 100644 test/interpreter_functional/snapshots/session/tagcloud_fontsize.json delete mode 100644 test/interpreter_functional/snapshots/session/tagcloud_invalid_data.json delete mode 100644 test/interpreter_functional/snapshots/session/tagcloud_metric_data.json delete mode 100644 test/interpreter_functional/snapshots/session/tagcloud_options.json diff --git a/package.json b/package.json index 6ebe1726de727..9692d7f7afc24 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "@elastic/datemath": "5.0.3", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.9.1-canary.1", "@elastic/ems-client": "8.4.0", - "@elastic/eui": "88.2.0", + "@elastic/eui": "88.3.0", "@elastic/filesaver": "1.1.2", "@elastic/node-crypto": "1.2.1", "@elastic/numeral": "^2.5.1", diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap index 0ae5e0504839b..ec57877a9744e 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap @@ -109,7 +109,7 @@ Array [ data-test-subj="collapsibleNavGroup-recentlyViewed" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="generated-id" @@ -141,7 +141,7 @@ Array [ aria-controls="generated-id" aria-expanded="true" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__iconButton euiAccordion__iconButton-isOpen euiAccordion__iconButton--right emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton-isOpen-arrowRight" + class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-right-isOpen" tabindex="-1" type="button" > @@ -158,60 +158,59 @@ Array [ class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="generated-id" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" > - <div - class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" + <ul + aria-label="Recently viewed links" + class="euiListGroup kbnCollapsibleNav__recentsListGroup emotion-euiListGroup-none" + style="max-inline-size: none;" > - <ul - aria-label="Recently viewed links" - class="euiListGroup kbnCollapsibleNav__recentsListGroup emotion-euiListGroup-none" - style="max-inline-size: none;" + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + <a + aria-label="recent 1" + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink--recent" + href="http://localhost/recent%201" + rel="noreferrer" + title="recent 1" > - <a - aria-label="recent 1" - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink--recent" - href="http://localhost/recent%201" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" title="recent 1" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="recent 1" - > - recent 1 - </span> - </a> - </li> - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + recent 1 + </span> + </a> + </li> + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + > + <a + aria-label="recent 2" + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink--recent" + href="http://localhost/recent%202" + rel="noreferrer" + title="recent 2" > - <a - aria-label="recent 2" - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink--recent" - href="http://localhost/recent%202" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" title="recent 2" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="recent 2" - > - recent 2 - </span> - </a> - </li> - </ul> - </div> + recent 2 + </span> + </a> + </li> + </ul> </div> </div> </div> @@ -227,7 +226,7 @@ Array [ data-test-subj="collapsibleNavGroup-kibana" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="generated-id" @@ -266,7 +265,7 @@ Array [ aria-controls="generated-id" aria-expanded="true" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__iconButton euiAccordion__iconButton-isOpen euiAccordion__iconButton--right emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton-isOpen-arrowRight" + class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-right-isOpen" tabindex="-1" type="button" > @@ -283,73 +282,72 @@ Array [ class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="generated-id" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" > - <div - class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" + <ul + aria-label="Primary navigation links, Analytics" + class="euiListGroup emotion-euiListGroup-none" + style="max-inline-size: none;" > - <ul - aria-label="Primary navigation links, Analytics" - class="euiListGroup emotion-euiListGroup-none" - style="max-inline-size: none;" + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="discover" + rel="noreferrer" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="discover" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="discover" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="discover" - > - discover - </span> - </a> - </li> - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + discover + </span> + </a> + </li> + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + > + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="visualize" + rel="noreferrer" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="visualize" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="visualize" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="visualize" - > - visualize - </span> - </a> - </li> - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + visualize + </span> + </a> + </li> + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + > + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="dashboard" + rel="noreferrer" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="dashboard" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="dashboard" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="dashboard" - > - dashboard - </span> - </a> - </li> - </ul> - </div> + dashboard + </span> + </a> + </li> + </ul> </div> </div> </div> @@ -359,7 +357,7 @@ Array [ data-test-subj="collapsibleNavGroup-observability" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="generated-id" @@ -398,7 +396,7 @@ Array [ aria-controls="generated-id" aria-expanded="true" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__iconButton euiAccordion__iconButton-isOpen euiAccordion__iconButton--right emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton-isOpen-arrowRight" + class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-right-isOpen" tabindex="-1" type="button" > @@ -415,56 +413,55 @@ Array [ class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="generated-id" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" > - <div - class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" + <ul + aria-label="Primary navigation links, Observability" + class="euiListGroup emotion-euiListGroup-none" + style="max-inline-size: none;" > - <ul - aria-label="Primary navigation links, Observability" - class="euiListGroup emotion-euiListGroup-none" - style="max-inline-size: none;" + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="metrics" + rel="noreferrer" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="metrics" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="metrics" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="metrics" - > - metrics - </span> - </a> - </li> - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + metrics + </span> + </a> + </li> + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + > + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="logs" + rel="noreferrer" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="logs" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="logs" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="logs" - > - logs - </span> - </a> - </li> - </ul> - </div> + logs + </span> + </a> + </li> + </ul> </div> </div> </div> @@ -474,7 +471,7 @@ Array [ data-test-subj="collapsibleNavGroup-securitySolution" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="generated-id" @@ -513,7 +510,7 @@ Array [ aria-controls="generated-id" aria-expanded="true" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__iconButton euiAccordion__iconButton-isOpen euiAccordion__iconButton--right emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton-isOpen-arrowRight" + class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-right-isOpen" tabindex="-1" type="button" > @@ -530,39 +527,38 @@ Array [ class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="generated-id" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" > - <div - class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" + <ul + aria-label="Primary navigation links, Security" + class="euiListGroup emotion-euiListGroup-none" + style="max-inline-size: none;" > - <ul - aria-label="Primary navigation links, Security" - class="euiListGroup emotion-euiListGroup-none" - style="max-inline-size: none;" + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="siem" + rel="noreferrer" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="siem" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="siem" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="siem" - > - siem - </span> - </a> - </li> - </ul> - </div> + siem + </span> + </a> + </li> + </ul> </div> </div> </div> @@ -572,7 +568,7 @@ Array [ data-test-subj="collapsibleNavGroup-management" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="generated-id" @@ -611,7 +607,7 @@ Array [ aria-controls="generated-id" aria-expanded="true" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__iconButton euiAccordion__iconButton-isOpen euiAccordion__iconButton--right emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton-isOpen-arrowRight" + class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-right-isOpen" tabindex="-1" type="button" > @@ -628,39 +624,38 @@ Array [ class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="generated-id" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" > - <div - class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" + <ul + aria-label="Primary navigation links, Management" + class="euiListGroup emotion-euiListGroup-none" + style="max-inline-size: none;" > - <ul - aria-label="Primary navigation links, Management" - class="euiListGroup emotion-euiListGroup-none" - style="max-inline-size: none;" + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="monitoring" + rel="noreferrer" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="monitoring" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="monitoring" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="monitoring" - > - monitoring - </span> - </a> - </li> - </ul> - </div> + monitoring + </span> + </a> + </li> + </ul> </div> </div> </div> diff --git a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap index 2789cde01744d..2351704688777 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap +++ b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap @@ -7,7 +7,7 @@ exports[`#start() returns \`Context\` component 1`] = ` Object { "mapping": Object { "euiAbsoluteTab.dateFormatError": [Function], - "euiAccordion.isLoading": "Loading", + "euiAccordionChildrenLoading.message": "Loading", "euiAutoRefresh.autoRefreshLabel": "Auto refresh", "euiAutoRefresh.buttonLabelOff": "Auto refresh is off", "euiAutoRefresh.buttonLabelOn": [Function], @@ -153,6 +153,8 @@ exports[`#start() returns \`Context\` component 1`] = ` "euiFormControlLayoutDelimited.delimiterLabel": "to", "euiFullscreenSelector.fullscreenButton": "Enter fullscreen", "euiFullscreenSelector.fullscreenButtonActive": "Exit fullscreen", + "euiGlobalToastList.clearAllToastsButtonAriaLabel": "Clear all toast notifications", + "euiGlobalToastList.clearAllToastsButtonDisplayText": "Clear all", "euiHeaderLinks.appNavigation": "App menu", "euiHeaderLinks.openNavigationMenu": "Open menu", "euiHue.label": "Select the HSV color mode \\"hue\\" value", diff --git a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx index bae77a2ac75de..68c3db6e42660 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx +++ b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx @@ -17,9 +17,12 @@ interface EuiValues { export const getEuiContextMapping = (): EuiTokensObject => { return { - 'euiAccordion.isLoading': i18n.translate('core.euiAccordion.isLoading', { - defaultMessage: 'Loading', - }), + 'euiAccordionChildrenLoading.message': i18n.translate( + 'core.euiAccordionChildrenLoading.message', + { + defaultMessage: 'Loading', + } + ), 'euiAutoRefresh.autoRefreshLabel': i18n.translate('core.euiAutoRefresh.autoRefreshLabel', { defaultMessage: 'Auto refresh', }), @@ -419,6 +422,18 @@ export const getEuiContextMapping = (): EuiTokensObject => { 'There is a new region landmark called {landmarkHeading} with page level controls at the end of the document.', values: { landmarkHeading }, }), + 'euiGlobalToastList.clearAllToastsButtonAriaLabel': i18n.translate( + 'core.euiGlobalToastList.clearAllToastsButtonAriaLabel', + { + defaultMessage: 'Clear all toast notifications', + } + ), + 'euiGlobalToastList.clearAllToastsButtonDisplayText': i18n.translate( + 'core.euiGlobalToastList.clearAllToastsButtonDisplayText', + { + defaultMessage: 'Clear all', + } + ), 'euiKeyboardShortcuts.title': i18n.translate('core.euiKeyboardShortcuts.title', { defaultMessage: 'Keyboard shortcuts', }), diff --git a/packages/kbn-cypress-config/index.ts b/packages/kbn-cypress-config/index.ts index 6f0c23e580fdd..42d5ef24d9472 100644 --- a/packages/kbn-cypress-config/index.ts +++ b/packages/kbn-cypress-config/index.ts @@ -40,6 +40,19 @@ export function defineCypressConfig(options?: Cypress.ConfigOptions<any>) { }, }, }, + // @hello-pangea/dnd emits optional chaining that confuses webpack. + // We need to transform it using babel before going further + { + test: /@hello-pangea\/dnd\/dist\/dnd(\.esm)?\.js$/, + use: [ + { + loader: 'babel-loader', + options: { + plugins: [require.resolve('@babel/plugin-proposal-optional-chaining')], + }, + }, + ], + }, ], }, }, diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap index 770a862dd4ce5..3520fe5a52f22 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap @@ -75,7 +75,7 @@ Object { data-test-subj="exceptionItemCardComments" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="exceptionItemCardComments" @@ -98,104 +98,104 @@ Object { </div> <div aria-labelledby="generated-id" - class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper" + class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed" id="exceptionItemCardComments" + inert="" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" + data-test-subj="accordionContentPanel" > - <div - class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" - data-test-subj="accordionContentPanel" + <ol + class="euiTimeline euiCommentList emotion-euiTimeline-l" + data-test-subj="accordionCommentList" + role="list" > - <ol - class="euiTimeline euiCommentList emotion-euiTimeline-l" - data-test-subj="accordionCommentList" - role="list" + <li + class="euiComment emotion-euiTimelineItem-top" > - <li - class="euiComment emotion-euiTimelineItem-top" + <div + class="emotion-euiTimelineItemIcon-top" > <div - class="emotion-euiTimelineItemIcon-top" + class="emotion-euiTimelineItemIcon__content" > <div - class="emotion-euiTimelineItemIcon__content" + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" > - <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" - > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> - </div> + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> </div> </div> + </div> + <div + class="emotion-euiTimelineItemEvent-top" + > <div - class="emotion-euiTimelineItemEvent-top" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" > - <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" - > - <p> - some old comment - </p> - </div> + <p> + some old comment + </p> </div> </div> - </li> - <li - class="euiComment emotion-euiTimelineItem-top" + </div> + </li> + <li + class="euiComment emotion-euiTimelineItem-top" + > + <div + class="emotion-euiTimelineItemIcon-top" > <div - class="emotion-euiTimelineItemIcon-top" + class="emotion-euiTimelineItemIcon__content" > <div - class="emotion-euiTimelineItemIcon__content" + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" > - <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" - > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> - </div> + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> </div> </div> + </div> + <div + class="emotion-euiTimelineItemEvent-top" + > <div - class="emotion-euiTimelineItemEvent-top" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" > - <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" - > - <p> - some old comment - </p> - </div> + <p> + some old comment + </p> </div> </div> - </li> - </ol> - </div> + </div> + </li> + </ol> </div> </div> </div> @@ -213,7 +213,7 @@ Object { data-test-subj="exceptionItemCardComments" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="exceptionItemCardComments" @@ -236,104 +236,104 @@ Object { </div> <div aria-labelledby="generated-id" - class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper" + class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed" id="exceptionItemCardComments" + inert="" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" + data-test-subj="accordionContentPanel" > - <div - class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" - data-test-subj="accordionContentPanel" + <ol + class="euiTimeline euiCommentList emotion-euiTimeline-l" + data-test-subj="accordionCommentList" + role="list" > - <ol - class="euiTimeline euiCommentList emotion-euiTimeline-l" - data-test-subj="accordionCommentList" - role="list" + <li + class="euiComment emotion-euiTimelineItem-top" > - <li - class="euiComment emotion-euiTimelineItem-top" + <div + class="emotion-euiTimelineItemIcon-top" > <div - class="emotion-euiTimelineItemIcon-top" + class="emotion-euiTimelineItemIcon__content" > <div - class="emotion-euiTimelineItemIcon__content" + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" > - <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" - > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> - </div> + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> </div> </div> + </div> + <div + class="emotion-euiTimelineItemEvent-top" + > <div - class="emotion-euiTimelineItemEvent-top" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" > - <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" - > - <p> - some old comment - </p> - </div> + <p> + some old comment + </p> </div> </div> - </li> - <li - class="euiComment emotion-euiTimelineItem-top" + </div> + </li> + <li + class="euiComment emotion-euiTimelineItem-top" + > + <div + class="emotion-euiTimelineItemIcon-top" > <div - class="emotion-euiTimelineItemIcon-top" + class="emotion-euiTimelineItemIcon__content" > <div - class="emotion-euiTimelineItemIcon__content" + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" > - <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" - > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> - </div> + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> </div> </div> + </div> + <div + class="emotion-euiTimelineItemEvent-top" + > <div - class="emotion-euiTimelineItemEvent-top" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" > - <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" - > - <p> - some old comment - </p> - </div> + <p> + some old comment + </p> </div> </div> - </li> - </ol> - </div> + </div> + </li> + </ol> </div> </div> </div> @@ -408,7 +408,7 @@ Object { data-test-subj="exceptionItemCardComments" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="exceptionItemCardComments" @@ -434,101 +434,100 @@ Object { class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="exceptionItemCardComments" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" + data-test-subj="accordionContentPanel" > - <div - class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" - data-test-subj="accordionContentPanel" + <ol + class="euiTimeline euiCommentList emotion-euiTimeline-l" + data-test-subj="accordionCommentList" + role="list" > - <ol - class="euiTimeline euiCommentList emotion-euiTimeline-l" - data-test-subj="accordionCommentList" - role="list" + <li + class="euiComment emotion-euiTimelineItem-top" > - <li - class="euiComment emotion-euiTimelineItem-top" + <div + class="emotion-euiTimelineItemIcon-top" > <div - class="emotion-euiTimelineItemIcon-top" + class="emotion-euiTimelineItemIcon__content" > <div - class="emotion-euiTimelineItemIcon__content" + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" > - <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" - > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> - </div> + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> </div> </div> + </div> + <div + class="emotion-euiTimelineItemEvent-top" + > <div - class="emotion-euiTimelineItemEvent-top" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" > - <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" - > - <p> - some old comment - </p> - </div> + <p> + some old comment + </p> </div> </div> - </li> - <li - class="euiComment emotion-euiTimelineItem-top" + </div> + </li> + <li + class="euiComment emotion-euiTimelineItem-top" + > + <div + class="emotion-euiTimelineItemIcon-top" > <div - class="emotion-euiTimelineItemIcon-top" + class="emotion-euiTimelineItemIcon__content" > <div - class="emotion-euiTimelineItemIcon__content" + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" > - <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" - > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> - </div> + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> </div> </div> + </div> + <div + class="emotion-euiTimelineItemEvent-top" + > <div - class="emotion-euiTimelineItemEvent-top" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" > - <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" - > - <p> - some old comment - </p> - </div> + <p> + some old comment + </p> </div> </div> - </li> - </ol> - </div> + </div> + </li> + </ol> </div> </div> </div> @@ -546,7 +545,7 @@ Object { data-test-subj="exceptionItemCardComments" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="exceptionItemCardComments" @@ -572,101 +571,100 @@ Object { class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="exceptionItemCardComments" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" + data-test-subj="accordionContentPanel" > - <div - class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" - data-test-subj="accordionContentPanel" + <ol + class="euiTimeline euiCommentList emotion-euiTimeline-l" + data-test-subj="accordionCommentList" + role="list" > - <ol - class="euiTimeline euiCommentList emotion-euiTimeline-l" - data-test-subj="accordionCommentList" - role="list" + <li + class="euiComment emotion-euiTimelineItem-top" > - <li - class="euiComment emotion-euiTimelineItem-top" + <div + class="emotion-euiTimelineItemIcon-top" > <div - class="emotion-euiTimelineItemIcon-top" + class="emotion-euiTimelineItemIcon__content" > <div - class="emotion-euiTimelineItemIcon__content" + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" > - <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" - > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> - </div> + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> </div> </div> + </div> + <div + class="emotion-euiTimelineItemEvent-top" + > <div - class="emotion-euiTimelineItemEvent-top" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" > - <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" - > - <p> - some old comment - </p> - </div> + <p> + some old comment + </p> </div> </div> - </li> - <li - class="euiComment emotion-euiTimelineItem-top" + </div> + </li> + <li + class="euiComment emotion-euiTimelineItem-top" + > + <div + class="emotion-euiTimelineItemIcon-top" > <div - class="emotion-euiTimelineItemIcon-top" + class="emotion-euiTimelineItemIcon__content" > <div - class="emotion-euiTimelineItemIcon__content" + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" > - <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" - > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> - </div> + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> </div> </div> + </div> + <div + class="emotion-euiTimelineItemEvent-top" + > <div - class="emotion-euiTimelineItemEvent-top" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" > - <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" - > - <p> - some old comment - </p> - </div> + <p> + some old comment + </p> </div> </div> - </li> - </ol> - </div> + </div> + </li> + </ol> </div> </div> </div> diff --git a/packages/kbn-ui-shared-deps-npm/webpack.config.js b/packages/kbn-ui-shared-deps-npm/webpack.config.js index a7beaf4462dc8..df2ed2071dc1c 100644 --- a/packages/kbn-ui-shared-deps-npm/webpack.config.js +++ b/packages/kbn-ui-shared-deps-npm/webpack.config.js @@ -146,7 +146,7 @@ module.exports = (_, argv) => { // @hello-pangea/dnd emits optional chaining that confuses webpack. // We need to transform it using babel before going further { - test: /@hello-pangea\/dnd\/dist\/dnd\.js$/, + test: /@hello-pangea\/dnd\/dist\/dnd(\.esm)?\.js$/, use: [ { loader: 'babel-loader', diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index d7c04f430661c..a89f994dc6bd0 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -85,7 +85,7 @@ 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.4.0': ['Elastic License 2.0'], - '@elastic/eui@88.2.0': ['SSPL-1.0 OR Elastic License 2.0'], + '@elastic/eui@88.3.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 'buffers@0.1.1': ['MIT'], // license in importing module https://www.npmjs.com/package/binary }; diff --git a/test/functional/page_objects/unified_field_list.ts b/test/functional/page_objects/unified_field_list.ts index caa0c7f24dada..5e306239dfdcd 100644 --- a/test/functional/page_objects/unified_field_list.ts +++ b/test/functional/page_objects/unified_field_list.ts @@ -84,7 +84,7 @@ export class UnifiedFieldListPageObject extends FtrService { public async toggleSidebarSection(sectionName: SidebarSectionName) { return await this.find.clickByCssSelector( - `${this.getSidebarSectionSelector(sectionName, true)} .euiAccordion__iconButton` + `${this.getSidebarSectionSelector(sectionName, true)} .euiAccordion__arrow` ); } diff --git a/test/interpreter_functional/snapshots/session/combined_test0.json b/test/interpreter_functional/snapshots/session/combined_test0.json deleted file mode 100644 index 8f00d72df8ab3..0000000000000 --- a/test/interpreter_functional/snapshots/session/combined_test0.json +++ /dev/null @@ -1 +0,0 @@ -{"filters":[],"query":[],"timeRange":null,"type":"kibana_context"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/combined_test1.json b/test/interpreter_functional/snapshots/session/combined_test1.json deleted file mode 100644 index 8f00d72df8ab3..0000000000000 --- a/test/interpreter_functional/snapshots/session/combined_test1.json +++ /dev/null @@ -1 +0,0 @@ -{"filters":[],"query":[],"timeRange":null,"type":"kibana_context"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/combined_test2.json b/test/interpreter_functional/snapshots/session/combined_test2.json deleted file mode 100644 index 98eb526aa75f6..0000000000000 --- a/test/interpreter_functional/snapshots/session/combined_test2.json +++ /dev/null @@ -1 +0,0 @@ -{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/combined_test3.json b/test/interpreter_functional/snapshots/session/combined_test3.json deleted file mode 100644 index 922d266f7e187..0000000000000 --- a/test/interpreter_functional/snapshots/session/combined_test3.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"bucket":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"metrics":[{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/essql.json b/test/interpreter_functional/snapshots/session/essql.json deleted file mode 100644 index d89bd10c382bd..0000000000000 --- a/test/interpreter_functional/snapshots/session/essql.json +++ /dev/null @@ -1 +0,0 @@ -{"columns":[{"id":"@timestamp","meta":{"type":"date"},"name":"@timestamp"},{"id":"@message","meta":{"type":"string"},"name":"@message"},{"id":"bytes","meta":{"type":"number"},"name":"bytes"}],"meta":{"type":"essql"},"rows":[{"@message":"143.84.142.7 - - [2015-09-20T00:00:00.000Z] \"GET /uploads/steven-hawley.jpg HTTP/1.1\" 200 1623 \"-\" \"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\"","@timestamp":"2015-09-20T00:00:00.000Z","bytes":1623},{"@message":"193.164.192.47 - - [2015-09-20T00:30:34.206Z] \"GET /uploads/michael-foreman.jpg HTTP/1.1\" 200 8537 \"-\" \"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\"","@timestamp":"2015-09-20T00:30:34.206Z","bytes":8537},{"@message":"176.7.244.68 - - [2015-09-20T00:32:42.058Z] \"GET /uploads/james-pawelczyk.jpg HTTP/1.1\" 200 9196 \"-\" \"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\"","@timestamp":"2015-09-20T00:32:42.058Z","bytes":9196},{"@message":"237.56.90.184 - - [2015-09-20T00:35:21.445Z] \"GET /uploads/david-leestma.jpg HTTP/1.1\" 200 9790 \"-\" \"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\"","@timestamp":"2015-09-20T00:35:21.445Z","bytes":9790},{"@message":"255.56.89.50 - - [2015-09-20T00:43:01.353Z] \"GET /uploads/michael-r-barratt.jpg HTTP/1.1\" 200 9583 \"-\" \"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\"","@timestamp":"2015-09-20T00:43:01.353Z","bytes":9583}],"type":"datatable"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/final_output_test.json b/test/interpreter_functional/snapshots/session/final_output_test.json deleted file mode 100644 index 922d266f7e187..0000000000000 --- a/test/interpreter_functional/snapshots/session/final_output_test.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"bucket":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"metrics":[{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_all_data.json b/test/interpreter_functional/snapshots/session/metric_all_data.json deleted file mode 100644 index 3b8553435624f..0000000000000 --- a/test/interpreter_functional/snapshots/session/metric_all_data.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"bucket":{"accessor":2,"format":{"id":"bytes","params":null},"type":"vis_dimension"},"metrics":[{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"},{"id":"col-2-1","meta":{"field":"bytes","index":"logstash-*","params":{"id":"bytes","params":null},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"field":"bytes"},"schema":"metric","type":"max"},"type":"number"},"name":"Max bytes"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891,"col-2-1":19986},{"col-0-2":"404","col-1-1":696,"col-2-1":19881},{"col-0-2":"503","col-1-1":417,"col-2-1":0}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_empty_data.json b/test/interpreter_functional/snapshots/session/metric_empty_data.json deleted file mode 100644 index ef645bdb30afd..0000000000000 --- a/test/interpreter_functional/snapshots/session/metric_empty_data.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"metrics":[{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"},{"id":"col-2-1","meta":{"field":"bytes","index":"logstash-*","params":{"id":"bytes","params":null},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"field":"bytes"},"schema":"metric","type":"max"},"type":"number"},"name":"Max bytes"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_invalid_data.json b/test/interpreter_functional/snapshots/session/metric_invalid_data.json deleted file mode 100644 index daf08c67211cc..0000000000000 --- a/test/interpreter_functional/snapshots/session/metric_invalid_data.json +++ /dev/null @@ -1 +0,0 @@ -"[legacyMetricVis] > [visdimension] > Provided column name or index is invalid: 0" \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_multi_metric_data.json b/test/interpreter_functional/snapshots/session/metric_multi_metric_data.json deleted file mode 100644 index 90d572ab720f0..0000000000000 --- a/test/interpreter_functional/snapshots/session/metric_multi_metric_data.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"metrics":[{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},{"accessor":1,"format":{"id":"number"},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"},{"id":"col-2-1","meta":{"field":"bytes","index":"logstash-*","params":{"id":"bytes","params":null},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"field":"bytes"},"schema":"metric","type":"max"},"type":"number"},"name":"Max bytes"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891,"col-2-1":19986},{"col-0-2":"404","col-1-1":696,"col-2-1":19881},{"col-0-2":"503","col-1-1":417,"col-2-1":0}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_percentage_mode.json b/test/interpreter_functional/snapshots/session/metric_percentage_mode.json deleted file mode 100644 index 2bb96cbcb4c0a..0000000000000 --- a/test/interpreter_functional/snapshots/session/metric_percentage_mode.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"metrics":[{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":{"colors":["rgb(0,0,0,0)","rgb(100, 100, 100)"],"continuity":"none","gradient":false,"range":"number","rangeMax":10000,"rangeMin":0,"stops":[0,10000]},"percentageMode":true,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"},{"id":"col-2-1","meta":{"field":"bytes","index":"logstash-*","params":{"id":"bytes","params":null},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"field":"bytes"},"schema":"metric","type":"max"},"type":"number"},"name":"Max bytes"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891,"col-2-1":19986},{"col-0-2":"404","col-1-1":696,"col-2-1":19881},{"col-0-2":"503","col-1-1":417,"col-2-1":0}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_single_metric_data.json b/test/interpreter_functional/snapshots/session/metric_single_metric_data.json deleted file mode 100644 index 2c9c785e4ab2a..0000000000000 --- a/test/interpreter_functional/snapshots/session/metric_single_metric_data.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"metrics":[{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"},{"id":"col-2-1","meta":{"field":"bytes","index":"logstash-*","params":{"id":"bytes","params":null},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"field":"bytes"},"schema":"metric","type":"max"},"type":"number"},"name":"Max bytes"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891,"col-2-1":19986},{"col-0-2":"404","col-1-1":696,"col-2-1":19881},{"col-0-2":"503","col-1-1":417,"col-2-1":0}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/partial_test_1.json b/test/interpreter_functional/snapshots/session/partial_test_1.json deleted file mode 100644 index 6e12a10d1e283..0000000000000 --- a/test/interpreter_functional/snapshots/session/partial_test_1.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"ariaLabel":null,"bucket":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"maxFontSize":72,"metric":{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/partial_test_2.json b/test/interpreter_functional/snapshots/session/partial_test_2.json deleted file mode 100644 index 922d266f7e187..0000000000000 --- a/test/interpreter_functional/snapshots/session/partial_test_2.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"bucket":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"metrics":[{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/step_output_test0.json b/test/interpreter_functional/snapshots/session/step_output_test0.json deleted file mode 100644 index 8f00d72df8ab3..0000000000000 --- a/test/interpreter_functional/snapshots/session/step_output_test0.json +++ /dev/null @@ -1 +0,0 @@ -{"filters":[],"query":[],"timeRange":null,"type":"kibana_context"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/step_output_test1.json b/test/interpreter_functional/snapshots/session/step_output_test1.json deleted file mode 100644 index 8f00d72df8ab3..0000000000000 --- a/test/interpreter_functional/snapshots/session/step_output_test1.json +++ /dev/null @@ -1 +0,0 @@ -{"filters":[],"query":[],"timeRange":null,"type":"kibana_context"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/step_output_test2.json b/test/interpreter_functional/snapshots/session/step_output_test2.json deleted file mode 100644 index 98eb526aa75f6..0000000000000 --- a/test/interpreter_functional/snapshots/session/step_output_test2.json +++ /dev/null @@ -1 +0,0 @@ -{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/step_output_test3.json b/test/interpreter_functional/snapshots/session/step_output_test3.json deleted file mode 100644 index 922d266f7e187..0000000000000 --- a/test/interpreter_functional/snapshots/session/step_output_test3.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"bucket":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"metrics":[{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_all_data.json b/test/interpreter_functional/snapshots/session/tagcloud_all_data.json deleted file mode 100644 index cb14c6ea89407..0000000000000 --- a/test/interpreter_functional/snapshots/session/tagcloud_all_data.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"ariaLabel":null,"bucket":{"accessor":1,"format":{"id":"number"},"type":"vis_dimension"},"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_empty_data.json b/test/interpreter_functional/snapshots/session/tagcloud_empty_data.json deleted file mode 100644 index 0910e67409423..0000000000000 --- a/test/interpreter_functional/snapshots/session/tagcloud_empty_data.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[],"type":"datatable"},"visParams":{"ariaLabel":null,"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_fontsize.json b/test/interpreter_functional/snapshots/session/tagcloud_fontsize.json deleted file mode 100644 index 21e213ebb9c27..0000000000000 --- a/test/interpreter_functional/snapshots/session/tagcloud_fontsize.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"ariaLabel":null,"bucket":{"accessor":1,"format":{"id":"number"},"type":"vis_dimension"},"isPreview":false,"maxFontSize":40,"metric":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"minFontSize":20,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_invalid_data.json b/test/interpreter_functional/snapshots/session/tagcloud_invalid_data.json deleted file mode 100644 index d163fcefecabe..0000000000000 --- a/test/interpreter_functional/snapshots/session/tagcloud_invalid_data.json +++ /dev/null @@ -1 +0,0 @@ -"[tagcloud] > [visdimension] > Provided column name or index is invalid: 0" \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_metric_data.json b/test/interpreter_functional/snapshots/session/tagcloud_metric_data.json deleted file mode 100644 index f340c5b653e35..0000000000000 --- a/test/interpreter_functional/snapshots/session/tagcloud_metric_data.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"ariaLabel":null,"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_options.json b/test/interpreter_functional/snapshots/session/tagcloud_options.json deleted file mode 100644 index ecbafbbc0afba..0000000000000 --- a/test/interpreter_functional/snapshots/session/tagcloud_options.json +++ /dev/null @@ -1 +0,0 @@ -{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"ariaLabel":null,"bucket":{"accessor":1,"format":{"id":"number"},"type":"vis_dimension"},"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"minFontSize":18,"orientation":"multiple","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"log","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx index a7e212f70a8b5..b3fa93d1ec522 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx @@ -61,12 +61,6 @@ const noPanelMessageClassName = css` } `; -const accordionButtonClassName = css` - .euiAccordion__iconButton { - display: none; - } -`; - export function ChatItem({ actions: { canCopy, canEdit, canGiveFeedback, canRegenerate }, display: { collapsed }, @@ -141,7 +135,7 @@ export function ChatItem({ contentElement = ( <EuiAccordion id={accordionId} - className={accordionButtonClassName} + arrowDisplay="none" forceState={expanded ? 'open' : 'closed'} onToggle={handleToggleExpand} > diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx index 1e438e1dd0e66..b5edcf75b1214 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx @@ -326,7 +326,7 @@ export function ConfigureLogsContent() { color: euiTheme.colors.primaryText, fontSize: xsFontSize, }, - '.euiAccordion__iconButton svg': { + '.euiAccordion__arrow svg': { stroke: euiTheme.colors.primary, width: euiTheme.size.m, height: euiTheme.size.m, diff --git a/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap b/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap index 9d95afb5852dd..518c7bb261426 100644 --- a/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap +++ b/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap @@ -98,13 +98,13 @@ exports[`ScreenCapturePanelContent properly renders a view with "canvas" layout data-test-subj="shareReportingAdvancedOptionsButton" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="advanced-options" aria-expanded="false" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__iconButton emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton" + class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-left-isClosed" tabindex="-1" type="button" > @@ -131,61 +131,61 @@ exports[`ScreenCapturePanelContent properly renders a view with "canvas" layout </div> <div aria-labelledby="generated-id" - class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper" + class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed" id="advanced-options" + inert="" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> + <div + class="euiText emotion-euiText-s" > - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> - <div - class="euiText emotion-euiText-s" + <p> + <span> + Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. + </span> + </p> + </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> + <div + class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" + data-test-subj="shareReportingUnsavedState" + > + <p + class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" > - <p> - <span> - Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. - </span> - </p> - </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> + <span + aria-hidden="true" + class="emotion-euiCallOut__icon" + color="inherit" + data-euiicon-type="warning" + /> + Unsaved work + </p> <div - class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" - data-test-subj="shareReportingUnsavedState" + class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" > - <p - class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" - > - <span - aria-hidden="true" - class="emotion-euiCallOut__icon" - color="inherit" - data-euiicon-type="warning" - /> - Unsaved work - </p> <div - class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" + class="euiText emotion-euiText-s" > - <div - class="euiText emotion-euiText-s" - > - <p> - <span> - Save your work before copying this URL. - </span> - </p> - </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> + <p> + <span> + Save your work before copying this URL. + </span> + </p> </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> </div> </div> </div> @@ -292,13 +292,13 @@ exports[`ScreenCapturePanelContent properly renders a view with "print" layout o data-test-subj="shareReportingAdvancedOptionsButton" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="advanced-options" aria-expanded="false" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__iconButton emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton" + class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-left-isClosed" tabindex="-1" type="button" > @@ -325,61 +325,61 @@ exports[`ScreenCapturePanelContent properly renders a view with "print" layout o </div> <div aria-labelledby="generated-id" - class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper" + class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed" id="advanced-options" + inert="" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiText emotion-euiText-s" > - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> - <div - class="euiText emotion-euiText-s" + <p> + <span> + Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. + </span> + </p> + </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> + <div + class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" + data-test-subj="shareReportingUnsavedState" + > + <p + class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" > - <p> - <span> - Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. - </span> - </p> - </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> + <span + aria-hidden="true" + class="emotion-euiCallOut__icon" + color="inherit" + data-euiicon-type="warning" + /> + Unsaved work + </p> <div - class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" - data-test-subj="shareReportingUnsavedState" + class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" > - <p - class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" - > - <span - aria-hidden="true" - class="emotion-euiCallOut__icon" - color="inherit" - data-euiicon-type="warning" - /> - Unsaved work - </p> <div - class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" + class="euiText emotion-euiText-s" > - <div - class="euiText emotion-euiText-s" - > - <p> - <span> - Save your work before copying this URL. - </span> - </p> - </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> + <p> + <span> + Save your work before copying this URL. + </span> + </p> </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> </div> </div> </div> @@ -427,13 +427,13 @@ exports[`ScreenCapturePanelContent renders the default view properly 1`] = ` data-test-subj="shareReportingAdvancedOptionsButton" > <div - class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" + class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" > <button aria-controls="advanced-options" aria-expanded="false" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__iconButton emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton" + class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-left-isClosed" tabindex="-1" type="button" > @@ -460,61 +460,61 @@ exports[`ScreenCapturePanelContent renders the default view properly 1`] = ` </div> <div aria-labelledby="generated-id" - class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper" + class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed" id="advanced-options" + inert="" role="region" + style="block-size: 0;" tabindex="-1" > - <div> + <div + class="euiAccordion__children emotion-euiAccordion__children" + > <div - class="euiAccordion__children emotion-euiAccordion__children" + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> + <div + class="euiText emotion-euiText-s" > - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> - <div - class="euiText emotion-euiText-s" + <p> + <span> + Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. + </span> + </p> + </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> + <div + class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" + data-test-subj="shareReportingUnsavedState" + > + <p + class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" > - <p> - <span> - Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. - </span> - </p> - </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> + <span + aria-hidden="true" + class="emotion-euiCallOut__icon" + color="inherit" + data-euiicon-type="warning" + /> + Unsaved work + </p> <div - class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" - data-test-subj="shareReportingUnsavedState" + class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" > - <p - class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" - > - <span - aria-hidden="true" - class="emotion-euiCallOut__icon" - color="inherit" - data-euiicon-type="warning" - /> - Unsaved work - </p> <div - class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" + class="euiText emotion-euiText-s" > - <div - class="euiText emotion-euiText-s" - > - <p> - <span> - Save your work before copying this URL. - </span> - </p> - </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> + <p> + <span> + Save your work before copying this URL. + </span> + </p> </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> </div> </div> </div> diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 31789c2078294..4f8dbc159e304 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -651,7 +651,6 @@ "core.deprecations.elasticsearchUsername.manualSteps2": "Ajoutez le paramètre \"elasticsearch.serviceAccountToken\" à kibana.yml.", "core.deprecations.elasticsearchUsername.manualSteps3": "Supprimez \"elasticsearch.username\" et \"elasticsearch.password\" de kibana.yml.", "core.deprecations.noCorrectiveAction": "Ce déclassement ne peut pas être résolu automatiquement.", - "core.euiAccordion.isLoading": "Chargement", "core.euiAutoRefresh.autoRefreshLabel": "Actualisation automatique", "core.euiAutoRefresh.buttonLabelOff": "L'actualisation automatique est désactivée", "core.euiBasicTable.noItemsMessage": "Aucun élément n'a été trouvé", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 88b6cac53927d..7445bbd2f2a5a 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -665,7 +665,6 @@ "core.deprecations.elasticsearchUsername.manualSteps2": "「elasticsearch.serviceAccountToken」設定をkibana.ymlに追加します。", "core.deprecations.elasticsearchUsername.manualSteps3": "kibana.ymlから「elasticsearch.username」と「elasticsearch.password」を削除します。", "core.deprecations.noCorrectiveAction": "この廃止予定は自動的に解決できません。", - "core.euiAccordion.isLoading": "読み込み中", "core.euiAutoRefresh.autoRefreshLabel": "自動更新", "core.euiAutoRefresh.buttonLabelOff": "自動更新はオフです", "core.euiBasicTable.noItemsMessage": "項目が見つかりません", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 1328b87d357fa..2a04d09bedd94 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -665,7 +665,6 @@ "core.deprecations.elasticsearchUsername.manualSteps2": "将“elasticsearch.serviceAccountToken”设置添加到 kibana.yml。", "core.deprecations.elasticsearchUsername.manualSteps3": "从 kibana.yml 中移除“elasticsearch.username”和“elasticsearch.password”。", "core.deprecations.noCorrectiveAction": "无法自动解决此弃用。", - "core.euiAccordion.isLoading": "正在加载", "core.euiAutoRefresh.autoRefreshLabel": "自动刷新", "core.euiAutoRefresh.buttonLabelOff": "自动刷新已关闭", "core.euiBasicTable.noItemsMessage": "找不到项目", diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.scss b/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.scss index 85d161d5c978a..d554b876faa90 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.scss +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.scss @@ -15,9 +15,9 @@ padding-left: $euiSizeL; } -.actAccordionActionForm .euiAccordion__iconButton { +.actAccordionActionForm .euiAccordion__arrow { transform: translateX($euiSizeM) rotate(0deg) !important; } -.actAccordionActionForm .euiAccordion__iconButton.euiAccordion__iconButton-isOpen { +.actAccordionActionForm .euiAccordion__arrow[aria-expanded='true'] { transform: translateX($euiSizeM) rotate(90deg) !important; } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index a743d2ee4a6ea..190b88330273f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1216,7 +1216,7 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/runtime@^7.12.1", "@babel/runtime@^7.19.4": +"@babel/runtime@^7.12.1": version "7.22.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== @@ -1596,13 +1596,13 @@ resolved "https://registry.yarnpkg.com/@elastic/eslint-plugin-eui/-/eslint-plugin-eui-0.0.2.tgz#56b9ef03984a05cc213772ae3713ea8ef47b0314" integrity sha512-IoxURM5zraoQ7C8f+mJb9HYSENiZGgRVcG4tLQxE61yHNNRDXtGDWTZh8N1KIHcsqN1CEPETjuzBXkJYF/fDiQ== -"@elastic/eui@88.2.0": - version "88.2.0" - resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-88.2.0.tgz#ba29775ceaca27b6c44300bcd58783acf720b420" - integrity sha512-h756c4vB6lcyrf5bVZhLeaACWYh2t5Y8rxIX1/0BTQ4kJugBoSwSbSdGgW4G1tUa6hdYEsCzqvAQ2mI6LPSbbw== +"@elastic/eui@88.3.0": + version "88.3.0" + resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-88.3.0.tgz#4f17c04667b94c3e26f6979d458361d4c359949b" + integrity sha512-vO4oK+O0cKZkzonGbY4GE/xuKgJbqRktbccGsQmyPh/S9heYssWikyN1n0y2VTTel3DG0f4OCHd4fNum8ZPNOQ== dependencies: - "@hello-pangea/dnd" "^16.2.0" - "@types/lodash" "^4.14.194" + "@hello-pangea/dnd" "^16.3.0" + "@types/lodash" "^4.14.198" "@types/numeral" "^2.0.2" "@types/react-input-autosize" "^2.2.1" "@types/react-window" "^1.8.5" @@ -2542,19 +2542,6 @@ "@hapi/bourne" "2.x.x" "@hapi/hoek" "9.x.x" -"@hello-pangea/dnd@^16.2.0": - version "16.2.0" - resolved "https://registry.yarnpkg.com/@hello-pangea/dnd/-/dnd-16.2.0.tgz#58cbadeb56f8c7a381da696bb7aa3bfbb87876ec" - integrity sha512-inACvMcvvLr34CG0P6+G/3bprVKhwswxjcsFUSJ+fpOGjhvDj9caiA9X3clby0lgJ6/ILIJjyedHZYECB7GAgA== - dependencies: - "@babel/runtime" "^7.19.4" - css-box-model "^1.2.1" - memoize-one "^6.0.0" - raf-schd "^4.0.3" - react-redux "^8.0.4" - redux "^4.2.0" - use-memo-one "^1.1.3" - "@hello-pangea/dnd@^16.3.0": version "16.3.0" resolved "https://registry.yarnpkg.com/@hello-pangea/dnd/-/dnd-16.3.0.tgz#3776212f812df4e8e69c42831ec8ab7ff3a087d6" @@ -9248,10 +9235,10 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.184.tgz#23f96cd2a21a28e106dc24d825d4aa966de7a9fe" integrity sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q== -"@types/lodash@^4.14.194": - version "4.14.194" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.194.tgz#b71eb6f7a0ff11bff59fc987134a093029258a76" - integrity sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g== +"@types/lodash@^4.14.198": + version "4.14.198" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.198.tgz#4d27465257011aedc741a809f1269941fa2c5d4c" + integrity sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg== "@types/long@^4.0.0", "@types/long@^4.0.1": version "4.0.2" @@ -25521,18 +25508,6 @@ react-redux@^7.1.0, react-redux@^7.2.8: prop-types "^15.7.2" react-is "^17.0.2" -react-redux@^8.0.4: - version "8.0.5" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.5.tgz#e5fb8331993a019b8aaf2e167a93d10af469c7bd" - integrity sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw== - dependencies: - "@babel/runtime" "^7.12.1" - "@types/hoist-non-react-statics" "^3.3.1" - "@types/use-sync-external-store" "^0.0.3" - hoist-non-react-statics "^3.3.2" - react-is "^18.0.0" - use-sync-external-store "^1.0.0" - react-redux@^8.1.1: version "8.1.2" resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.2.tgz#9076bbc6b60f746659ad6d51cb05de9c5e1e9188" From 60ce6f0ed6c3d393d145a6347c7e6988ab1b29e4 Mon Sep 17 00:00:00 2001 From: Jon <jon@elastic.co> Date: Mon, 18 Sep 2023 18:30:09 -0500 Subject: [PATCH 105/149] Update versions.json (#166645) With the release of 8.10.1, this updates the tracked development version to 8.10.2 --- versions.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions.json b/versions.json index 60225e16760f9..d9f23122bbb0f 100644 --- a/versions.json +++ b/versions.json @@ -8,7 +8,7 @@ "currentMinor": true }, { - "version": "8.10.1", + "version": "8.10.2", "branch": "8.10", "currentMajor": true, "previousMinor": true From f270c317f50bc899ac2c89f8825d5debc27e7856 Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski <jon@elastic.co> Date: Mon, 18 Sep 2023 18:37:13 -0500 Subject: [PATCH 106/149] Revert "Upgrade EUI to v88.3.0 (#166292)" This reverts commit b7ba000b86304cccd999e112abc7b41bd4832a7e. --- package.json | 2 +- .../collapsible_nav.test.tsx.snap | 389 ++++++------- .../__snapshots__/i18n_service.test.tsx.snap | 4 +- .../src/i18n_eui_mapping.tsx | 21 +- packages/kbn-cypress-config/index.ts | 13 - .../__snapshots__/comments.test.tsx.snap | 514 +++++++++--------- .../kbn-ui-shared-deps-npm/webpack.config.js | 2 +- src/dev/license_checker/config.ts | 2 +- .../page_objects/unified_field_list.ts | 2 +- .../snapshots/session/combined_test0.json | 1 + .../snapshots/session/combined_test1.json | 1 + .../snapshots/session/combined_test2.json | 1 + .../snapshots/session/combined_test3.json | 1 + .../snapshots/session/essql.json | 1 + .../snapshots/session/final_output_test.json | 1 + .../snapshots/session/metric_all_data.json | 1 + .../snapshots/session/metric_empty_data.json | 1 + .../session/metric_invalid_data.json | 1 + .../session/metric_multi_metric_data.json | 1 + .../session/metric_percentage_mode.json | 1 + .../session/metric_single_metric_data.json | 1 + .../snapshots/session/partial_test_1.json | 1 + .../snapshots/session/partial_test_2.json | 1 + .../snapshots/session/step_output_test0.json | 1 + .../snapshots/session/step_output_test1.json | 1 + .../snapshots/session/step_output_test2.json | 1 + .../snapshots/session/step_output_test3.json | 1 + .../snapshots/session/tagcloud_all_data.json | 1 + .../session/tagcloud_empty_data.json | 1 + .../snapshots/session/tagcloud_fontsize.json | 1 + .../session/tagcloud_invalid_data.json | 1 + .../session/tagcloud_metric_data.json | 1 + .../snapshots/session/tagcloud_options.json | 1 + .../public/components/chat/chat_item.tsx | 8 +- .../app/custom_logs/configure_logs.tsx | 2 +- ...screen_capture_panel_content.test.tsx.snap | 270 ++++----- .../translations/translations/fr-FR.json | 1 + .../translations/translations/ja-JP.json | 1 + .../translations/translations/zh-CN.json | 1 + .../lib/check_action_type_enabled.scss | 4 +- yarn.lock | 47 +- 41 files changed, 671 insertions(+), 636 deletions(-) create mode 100644 test/interpreter_functional/snapshots/session/combined_test0.json create mode 100644 test/interpreter_functional/snapshots/session/combined_test1.json create mode 100644 test/interpreter_functional/snapshots/session/combined_test2.json create mode 100644 test/interpreter_functional/snapshots/session/combined_test3.json create mode 100644 test/interpreter_functional/snapshots/session/essql.json create mode 100644 test/interpreter_functional/snapshots/session/final_output_test.json create mode 100644 test/interpreter_functional/snapshots/session/metric_all_data.json create mode 100644 test/interpreter_functional/snapshots/session/metric_empty_data.json create mode 100644 test/interpreter_functional/snapshots/session/metric_invalid_data.json create mode 100644 test/interpreter_functional/snapshots/session/metric_multi_metric_data.json create mode 100644 test/interpreter_functional/snapshots/session/metric_percentage_mode.json create mode 100644 test/interpreter_functional/snapshots/session/metric_single_metric_data.json create mode 100644 test/interpreter_functional/snapshots/session/partial_test_1.json create mode 100644 test/interpreter_functional/snapshots/session/partial_test_2.json create mode 100644 test/interpreter_functional/snapshots/session/step_output_test0.json create mode 100644 test/interpreter_functional/snapshots/session/step_output_test1.json create mode 100644 test/interpreter_functional/snapshots/session/step_output_test2.json create mode 100644 test/interpreter_functional/snapshots/session/step_output_test3.json create mode 100644 test/interpreter_functional/snapshots/session/tagcloud_all_data.json create mode 100644 test/interpreter_functional/snapshots/session/tagcloud_empty_data.json create mode 100644 test/interpreter_functional/snapshots/session/tagcloud_fontsize.json create mode 100644 test/interpreter_functional/snapshots/session/tagcloud_invalid_data.json create mode 100644 test/interpreter_functional/snapshots/session/tagcloud_metric_data.json create mode 100644 test/interpreter_functional/snapshots/session/tagcloud_options.json diff --git a/package.json b/package.json index 9692d7f7afc24..6ebe1726de727 100644 --- a/package.json +++ b/package.json @@ -100,7 +100,7 @@ "@elastic/datemath": "5.0.3", "@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@8.9.1-canary.1", "@elastic/ems-client": "8.4.0", - "@elastic/eui": "88.3.0", + "@elastic/eui": "88.2.0", "@elastic/filesaver": "1.1.2", "@elastic/node-crypto": "1.2.1", "@elastic/numeral": "^2.5.1", diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap index ec57877a9744e..0ae5e0504839b 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap @@ -109,7 +109,7 @@ Array [ data-test-subj="collapsibleNavGroup-recentlyViewed" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="generated-id" @@ -141,7 +141,7 @@ Array [ aria-controls="generated-id" aria-expanded="true" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-right-isOpen" + class="euiButtonIcon euiAccordion__iconButton euiAccordion__iconButton-isOpen euiAccordion__iconButton--right emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton-isOpen-arrowRight" tabindex="-1" type="button" > @@ -158,59 +158,60 @@ Array [ class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="generated-id" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" + class="euiAccordion__children emotion-euiAccordion__children" > - <ul - aria-label="Recently viewed links" - class="euiListGroup kbnCollapsibleNav__recentsListGroup emotion-euiListGroup-none" - style="max-inline-size: none;" + <div + class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" > - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + <ul + aria-label="Recently viewed links" + class="euiListGroup kbnCollapsibleNav__recentsListGroup emotion-euiListGroup-none" + style="max-inline-size: none;" > - <a - aria-label="recent 1" - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink--recent" - href="http://localhost/recent%201" - rel="noreferrer" - title="recent 1" + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + <a + aria-label="recent 1" + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink--recent" + href="http://localhost/recent%201" + rel="noreferrer" title="recent 1" > - recent 1 - </span> - </a> - </li> - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" - > - <a - aria-label="recent 2" - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink--recent" - href="http://localhost/recent%202" - rel="noreferrer" - title="recent 2" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="recent 1" + > + recent 1 + </span> + </a> + </li> + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + <a + aria-label="recent 2" + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink--recent" + href="http://localhost/recent%202" + rel="noreferrer" title="recent 2" > - recent 2 - </span> - </a> - </li> - </ul> + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="recent 2" + > + recent 2 + </span> + </a> + </li> + </ul> + </div> </div> </div> </div> @@ -226,7 +227,7 @@ Array [ data-test-subj="collapsibleNavGroup-kibana" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="generated-id" @@ -265,7 +266,7 @@ Array [ aria-controls="generated-id" aria-expanded="true" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-right-isOpen" + class="euiButtonIcon euiAccordion__iconButton euiAccordion__iconButton-isOpen euiAccordion__iconButton--right emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton-isOpen-arrowRight" tabindex="-1" type="button" > @@ -282,72 +283,73 @@ Array [ class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="generated-id" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" + class="euiAccordion__children emotion-euiAccordion__children" > - <ul - aria-label="Primary navigation links, Analytics" - class="euiListGroup emotion-euiListGroup-none" - style="max-inline-size: none;" + <div + class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" > - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + <ul + aria-label="Primary navigation links, Analytics" + class="euiListGroup emotion-euiListGroup-none" + style="max-inline-size: none;" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="discover" - rel="noreferrer" + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="discover" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="discover" + rel="noreferrer" > - discover - </span> - </a> - </li> - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" - > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="visualize" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="discover" + > + discover + </span> + </a> + </li> + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="visualize" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="visualize" + rel="noreferrer" > - visualize - </span> - </a> - </li> - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" - > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="dashboard" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="visualize" + > + visualize + </span> + </a> + </li> + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="dashboard" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="dashboard" + rel="noreferrer" > - dashboard - </span> - </a> - </li> - </ul> + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="dashboard" + > + dashboard + </span> + </a> + </li> + </ul> + </div> </div> </div> </div> @@ -357,7 +359,7 @@ Array [ data-test-subj="collapsibleNavGroup-observability" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="generated-id" @@ -396,7 +398,7 @@ Array [ aria-controls="generated-id" aria-expanded="true" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-right-isOpen" + class="euiButtonIcon euiAccordion__iconButton euiAccordion__iconButton-isOpen euiAccordion__iconButton--right emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton-isOpen-arrowRight" tabindex="-1" type="button" > @@ -413,55 +415,56 @@ Array [ class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="generated-id" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" + class="euiAccordion__children emotion-euiAccordion__children" > - <ul - aria-label="Primary navigation links, Observability" - class="euiListGroup emotion-euiListGroup-none" - style="max-inline-size: none;" + <div + class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" > - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + <ul + aria-label="Primary navigation links, Observability" + class="euiListGroup emotion-euiListGroup-none" + style="max-inline-size: none;" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="metrics" - rel="noreferrer" + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="metrics" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="metrics" + rel="noreferrer" > - metrics - </span> - </a> - </li> - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" - > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="logs" - rel="noreferrer" + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="metrics" + > + metrics + </span> + </a> + </li> + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="logs" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="logs" + rel="noreferrer" > - logs - </span> - </a> - </li> - </ul> + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="logs" + > + logs + </span> + </a> + </li> + </ul> + </div> </div> </div> </div> @@ -471,7 +474,7 @@ Array [ data-test-subj="collapsibleNavGroup-securitySolution" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="generated-id" @@ -510,7 +513,7 @@ Array [ aria-controls="generated-id" aria-expanded="true" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-right-isOpen" + class="euiButtonIcon euiAccordion__iconButton euiAccordion__iconButton-isOpen euiAccordion__iconButton--right emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton-isOpen-arrowRight" tabindex="-1" type="button" > @@ -527,38 +530,39 @@ Array [ class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="generated-id" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" + class="euiAccordion__children emotion-euiAccordion__children" > - <ul - aria-label="Primary navigation links, Security" - class="euiListGroup emotion-euiListGroup-none" - style="max-inline-size: none;" + <div + class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" > - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + <ul + aria-label="Primary navigation links, Security" + class="euiListGroup emotion-euiListGroup-none" + style="max-inline-size: none;" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="siem" - rel="noreferrer" + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="siem" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="siem" + rel="noreferrer" > - siem - </span> - </a> - </li> - </ul> + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="siem" + > + siem + </span> + </a> + </li> + </ul> + </div> </div> </div> </div> @@ -568,7 +572,7 @@ Array [ data-test-subj="collapsibleNavGroup-management" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="generated-id" @@ -607,7 +611,7 @@ Array [ aria-controls="generated-id" aria-expanded="true" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-right-isOpen" + class="euiButtonIcon euiAccordion__iconButton euiAccordion__iconButton-isOpen euiAccordion__iconButton--right emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton-isOpen-arrowRight" tabindex="-1" type="button" > @@ -624,38 +628,39 @@ Array [ class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="generated-id" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" + class="euiAccordion__children emotion-euiAccordion__children" > - <ul - aria-label="Primary navigation links, Management" - class="euiListGroup emotion-euiListGroup-none" - style="max-inline-size: none;" + <div + class="euiCollapsibleNavGroup__children emotion-euiCollapsibleNavGroup__children-withHeading" > - <li - class="euiListGroupItem emotion-euiListGroupItem-subdued-s" + <ul + aria-label="Primary navigation links, Management" + class="euiListGroup emotion-euiListGroup-none" + style="max-inline-size: none;" > - <a - class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" - data-test-subj="collapsibleNavAppLink" - href="monitoring" - rel="noreferrer" + <li + class="euiListGroupItem emotion-euiListGroupItem-subdued-s" > - <span - class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" - title="monitoring" + <a + class="euiListGroupItem__button emotion-euiListGroupItem__inner-s-subdued-isClickable" + data-test-subj="collapsibleNavAppLink" + href="monitoring" + rel="noreferrer" > - monitoring - </span> - </a> - </li> - </ul> + <span + class="euiListGroupItem__label emotion-euiListGroupItem__label-truncate" + title="monitoring" + > + monitoring + </span> + </a> + </li> + </ul> + </div> </div> </div> </div> diff --git a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap index 2351704688777..2789cde01744d 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap +++ b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap @@ -7,7 +7,7 @@ exports[`#start() returns \`Context\` component 1`] = ` Object { "mapping": Object { "euiAbsoluteTab.dateFormatError": [Function], - "euiAccordionChildrenLoading.message": "Loading", + "euiAccordion.isLoading": "Loading", "euiAutoRefresh.autoRefreshLabel": "Auto refresh", "euiAutoRefresh.buttonLabelOff": "Auto refresh is off", "euiAutoRefresh.buttonLabelOn": [Function], @@ -153,8 +153,6 @@ exports[`#start() returns \`Context\` component 1`] = ` "euiFormControlLayoutDelimited.delimiterLabel": "to", "euiFullscreenSelector.fullscreenButton": "Enter fullscreen", "euiFullscreenSelector.fullscreenButtonActive": "Exit fullscreen", - "euiGlobalToastList.clearAllToastsButtonAriaLabel": "Clear all toast notifications", - "euiGlobalToastList.clearAllToastsButtonDisplayText": "Clear all", "euiHeaderLinks.appNavigation": "App menu", "euiHeaderLinks.openNavigationMenu": "Open menu", "euiHue.label": "Select the HSV color mode \\"hue\\" value", diff --git a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx index 68c3db6e42660..bae77a2ac75de 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx +++ b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx @@ -17,12 +17,9 @@ interface EuiValues { export const getEuiContextMapping = (): EuiTokensObject => { return { - 'euiAccordionChildrenLoading.message': i18n.translate( - 'core.euiAccordionChildrenLoading.message', - { - defaultMessage: 'Loading', - } - ), + 'euiAccordion.isLoading': i18n.translate('core.euiAccordion.isLoading', { + defaultMessage: 'Loading', + }), 'euiAutoRefresh.autoRefreshLabel': i18n.translate('core.euiAutoRefresh.autoRefreshLabel', { defaultMessage: 'Auto refresh', }), @@ -422,18 +419,6 @@ export const getEuiContextMapping = (): EuiTokensObject => { 'There is a new region landmark called {landmarkHeading} with page level controls at the end of the document.', values: { landmarkHeading }, }), - 'euiGlobalToastList.clearAllToastsButtonAriaLabel': i18n.translate( - 'core.euiGlobalToastList.clearAllToastsButtonAriaLabel', - { - defaultMessage: 'Clear all toast notifications', - } - ), - 'euiGlobalToastList.clearAllToastsButtonDisplayText': i18n.translate( - 'core.euiGlobalToastList.clearAllToastsButtonDisplayText', - { - defaultMessage: 'Clear all', - } - ), 'euiKeyboardShortcuts.title': i18n.translate('core.euiKeyboardShortcuts.title', { defaultMessage: 'Keyboard shortcuts', }), diff --git a/packages/kbn-cypress-config/index.ts b/packages/kbn-cypress-config/index.ts index 42d5ef24d9472..6f0c23e580fdd 100644 --- a/packages/kbn-cypress-config/index.ts +++ b/packages/kbn-cypress-config/index.ts @@ -40,19 +40,6 @@ export function defineCypressConfig(options?: Cypress.ConfigOptions<any>) { }, }, }, - // @hello-pangea/dnd emits optional chaining that confuses webpack. - // We need to transform it using babel before going further - { - test: /@hello-pangea\/dnd\/dist\/dnd(\.esm)?\.js$/, - use: [ - { - loader: 'babel-loader', - options: { - plugins: [require.resolve('@babel/plugin-proposal-optional-chaining')], - }, - }, - ], - }, ], }, }, diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap index 3520fe5a52f22..770a862dd4ce5 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap @@ -75,7 +75,7 @@ Object { data-test-subj="exceptionItemCardComments" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="exceptionItemCardComments" @@ -98,104 +98,104 @@ Object { </div> <div aria-labelledby="generated-id" - class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed" + class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper" id="exceptionItemCardComments" - inert="" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" - data-test-subj="accordionContentPanel" + class="euiAccordion__children emotion-euiAccordion__children" > - <ol - class="euiTimeline euiCommentList emotion-euiTimeline-l" - data-test-subj="accordionCommentList" - role="list" + <div + class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" + data-test-subj="accordionContentPanel" > - <li - class="euiComment emotion-euiTimelineItem-top" + <ol + class="euiTimeline euiCommentList emotion-euiTimeline-l" + data-test-subj="accordionCommentList" + role="list" > - <div - class="emotion-euiTimelineItemIcon-top" + <li + class="euiComment emotion-euiTimelineItem-top" > <div - class="emotion-euiTimelineItemIcon__content" + class="emotion-euiTimelineItemIcon-top" > <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" + class="emotion-euiTimelineItemIcon__content" > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> + <div + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" + > + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> + </div> </div> </div> - </div> - <div - class="emotion-euiTimelineItemEvent-top" - > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="emotion-euiTimelineItemEvent-top" > <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > - <p> - some old comment - </p> + <div + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + > + <p> + some old comment + </p> + </div> </div> </div> - </div> - </li> - <li - class="euiComment emotion-euiTimelineItem-top" - > - <div - class="emotion-euiTimelineItemIcon-top" + </li> + <li + class="euiComment emotion-euiTimelineItem-top" > <div - class="emotion-euiTimelineItemIcon__content" + class="emotion-euiTimelineItemIcon-top" > <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" + class="emotion-euiTimelineItemIcon__content" > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> + <div + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" + > + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> + </div> </div> </div> - </div> - <div - class="emotion-euiTimelineItemEvent-top" - > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="emotion-euiTimelineItemEvent-top" > <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > - <p> - some old comment - </p> + <div + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + > + <p> + some old comment + </p> + </div> </div> </div> - </div> - </li> - </ol> + </li> + </ol> + </div> </div> </div> </div> @@ -213,7 +213,7 @@ Object { data-test-subj="exceptionItemCardComments" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="exceptionItemCardComments" @@ -236,104 +236,104 @@ Object { </div> <div aria-labelledby="generated-id" - class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed" + class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper" id="exceptionItemCardComments" - inert="" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" - data-test-subj="accordionContentPanel" + class="euiAccordion__children emotion-euiAccordion__children" > - <ol - class="euiTimeline euiCommentList emotion-euiTimeline-l" - data-test-subj="accordionCommentList" - role="list" + <div + class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" + data-test-subj="accordionContentPanel" > - <li - class="euiComment emotion-euiTimelineItem-top" + <ol + class="euiTimeline euiCommentList emotion-euiTimeline-l" + data-test-subj="accordionCommentList" + role="list" > - <div - class="emotion-euiTimelineItemIcon-top" + <li + class="euiComment emotion-euiTimelineItem-top" > <div - class="emotion-euiTimelineItemIcon__content" + class="emotion-euiTimelineItemIcon-top" > <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" + class="emotion-euiTimelineItemIcon__content" > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> + <div + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" + > + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> + </div> </div> </div> - </div> - <div - class="emotion-euiTimelineItemEvent-top" - > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="emotion-euiTimelineItemEvent-top" > <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > - <p> - some old comment - </p> + <div + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + > + <p> + some old comment + </p> + </div> </div> </div> - </div> - </li> - <li - class="euiComment emotion-euiTimelineItem-top" - > - <div - class="emotion-euiTimelineItemIcon-top" + </li> + <li + class="euiComment emotion-euiTimelineItem-top" > <div - class="emotion-euiTimelineItemIcon__content" + class="emotion-euiTimelineItemIcon-top" > <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" + class="emotion-euiTimelineItemIcon__content" > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> + <div + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" + > + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> + </div> </div> </div> - </div> - <div - class="emotion-euiTimelineItemEvent-top" - > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="emotion-euiTimelineItemEvent-top" > <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > - <p> - some old comment - </p> + <div + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + > + <p> + some old comment + </p> + </div> </div> </div> - </div> - </li> - </ol> + </li> + </ol> + </div> </div> </div> </div> @@ -408,7 +408,7 @@ Object { data-test-subj="exceptionItemCardComments" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="exceptionItemCardComments" @@ -434,100 +434,101 @@ Object { class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="exceptionItemCardComments" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" - data-test-subj="accordionContentPanel" + class="euiAccordion__children emotion-euiAccordion__children" > - <ol - class="euiTimeline euiCommentList emotion-euiTimeline-l" - data-test-subj="accordionCommentList" - role="list" + <div + class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" + data-test-subj="accordionContentPanel" > - <li - class="euiComment emotion-euiTimelineItem-top" + <ol + class="euiTimeline euiCommentList emotion-euiTimeline-l" + data-test-subj="accordionCommentList" + role="list" > - <div - class="emotion-euiTimelineItemIcon-top" + <li + class="euiComment emotion-euiTimelineItem-top" > <div - class="emotion-euiTimelineItemIcon__content" + class="emotion-euiTimelineItemIcon-top" > <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" + class="emotion-euiTimelineItemIcon__content" > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> + <div + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" + > + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> + </div> </div> </div> - </div> - <div - class="emotion-euiTimelineItemEvent-top" - > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="emotion-euiTimelineItemEvent-top" > <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > - <p> - some old comment - </p> + <div + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + > + <p> + some old comment + </p> + </div> </div> </div> - </div> - </li> - <li - class="euiComment emotion-euiTimelineItem-top" - > - <div - class="emotion-euiTimelineItemIcon-top" + </li> + <li + class="euiComment emotion-euiTimelineItem-top" > <div - class="emotion-euiTimelineItemIcon__content" + class="emotion-euiTimelineItemIcon-top" > <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" + class="emotion-euiTimelineItemIcon__content" > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> + <div + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" + > + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> + </div> </div> </div> - </div> - <div - class="emotion-euiTimelineItemEvent-top" - > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="emotion-euiTimelineItemEvent-top" > <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > - <p> - some old comment - </p> + <div + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + > + <p> + some old comment + </p> + </div> </div> </div> - </div> - </li> - </ol> + </li> + </ol> + </div> </div> </div> </div> @@ -545,7 +546,7 @@ Object { data-test-subj="exceptionItemCardComments" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="exceptionItemCardComments" @@ -571,100 +572,101 @@ Object { class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isOpen" id="exceptionItemCardComments" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" - data-test-subj="accordionContentPanel" + class="euiAccordion__children emotion-euiAccordion__children" > - <ol - class="euiTimeline euiCommentList emotion-euiTimeline-l" - data-test-subj="accordionCommentList" - role="list" + <div + class="euiPanel euiPanel--plain euiPanel--paddingMedium emotion-euiPanel-grow-m-m-plain-hasBorder" + data-test-subj="accordionContentPanel" > - <li - class="euiComment emotion-euiTimelineItem-top" + <ol + class="euiTimeline euiCommentList emotion-euiTimeline-l" + data-test-subj="accordionCommentList" + role="list" > - <div - class="emotion-euiTimelineItemIcon-top" + <li + class="euiComment emotion-euiTimelineItem-top" > <div - class="emotion-euiTimelineItemIcon__content" + class="emotion-euiTimelineItemIcon-top" > <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" + class="emotion-euiTimelineItemIcon__content" > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> + <div + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" + > + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> + </div> </div> </div> - </div> - <div - class="emotion-euiTimelineItemEvent-top" - > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="emotion-euiTimelineItemEvent-top" > <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > - <p> - some old comment - </p> + <div + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + > + <p> + some old comment + </p> + </div> </div> </div> - </div> - </li> - <li - class="euiComment emotion-euiTimelineItem-top" - > - <div - class="emotion-euiTimelineItemIcon-top" + </li> + <li + class="euiComment emotion-euiTimelineItem-top" > <div - class="emotion-euiTimelineItemIcon__content" + class="emotion-euiTimelineItemIcon-top" > <div - aria-label="" - class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" - role="img" - title="" + class="emotion-euiTimelineItemIcon__content" > - <span - class="euiAvatar__icon" - data-euiicon-type="userAvatar" - /> + <div + aria-label="" + class="euiAvatar euiAvatar--m euiAvatar--user euiCommentAvatar emotion-euiAvatar-user-m-uppercase-subdued" + role="img" + title="" + > + <span + class="euiAvatar__icon" + data-euiicon-type="userAvatar" + /> + </div> </div> </div> - </div> - <div - class="emotion-euiTimelineItemEvent-top" - > <div - class="euiCommentEvent emotion-euiCommentEvent-custom" - data-type="custom" + class="emotion-euiTimelineItemEvent-top" > <div - class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + class="euiCommentEvent emotion-euiCommentEvent-custom" + data-type="custom" > - <p> - some old comment - </p> + <div + class="euiCommentEvent__body emotion-euiCommentEvent__body-custom" + > + <p> + some old comment + </p> + </div> </div> </div> - </div> - </li> - </ol> + </li> + </ol> + </div> </div> </div> </div> diff --git a/packages/kbn-ui-shared-deps-npm/webpack.config.js b/packages/kbn-ui-shared-deps-npm/webpack.config.js index df2ed2071dc1c..a7beaf4462dc8 100644 --- a/packages/kbn-ui-shared-deps-npm/webpack.config.js +++ b/packages/kbn-ui-shared-deps-npm/webpack.config.js @@ -146,7 +146,7 @@ module.exports = (_, argv) => { // @hello-pangea/dnd emits optional chaining that confuses webpack. // We need to transform it using babel before going further { - test: /@hello-pangea\/dnd\/dist\/dnd(\.esm)?\.js$/, + test: /@hello-pangea\/dnd\/dist\/dnd\.js$/, use: [ { loader: 'babel-loader', diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index a89f994dc6bd0..d7c04f430661c 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -85,7 +85,7 @@ 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.4.0': ['Elastic License 2.0'], - '@elastic/eui@88.3.0': ['SSPL-1.0 OR Elastic License 2.0'], + '@elastic/eui@88.2.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 'buffers@0.1.1': ['MIT'], // license in importing module https://www.npmjs.com/package/binary }; diff --git a/test/functional/page_objects/unified_field_list.ts b/test/functional/page_objects/unified_field_list.ts index 5e306239dfdcd..caa0c7f24dada 100644 --- a/test/functional/page_objects/unified_field_list.ts +++ b/test/functional/page_objects/unified_field_list.ts @@ -84,7 +84,7 @@ export class UnifiedFieldListPageObject extends FtrService { public async toggleSidebarSection(sectionName: SidebarSectionName) { return await this.find.clickByCssSelector( - `${this.getSidebarSectionSelector(sectionName, true)} .euiAccordion__arrow` + `${this.getSidebarSectionSelector(sectionName, true)} .euiAccordion__iconButton` ); } diff --git a/test/interpreter_functional/snapshots/session/combined_test0.json b/test/interpreter_functional/snapshots/session/combined_test0.json new file mode 100644 index 0000000000000..8f00d72df8ab3 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/combined_test0.json @@ -0,0 +1 @@ +{"filters":[],"query":[],"timeRange":null,"type":"kibana_context"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/combined_test1.json b/test/interpreter_functional/snapshots/session/combined_test1.json new file mode 100644 index 0000000000000..8f00d72df8ab3 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/combined_test1.json @@ -0,0 +1 @@ +{"filters":[],"query":[],"timeRange":null,"type":"kibana_context"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/combined_test2.json b/test/interpreter_functional/snapshots/session/combined_test2.json new file mode 100644 index 0000000000000..98eb526aa75f6 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/combined_test2.json @@ -0,0 +1 @@ +{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/combined_test3.json b/test/interpreter_functional/snapshots/session/combined_test3.json new file mode 100644 index 0000000000000..922d266f7e187 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/combined_test3.json @@ -0,0 +1 @@ +{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"bucket":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"metrics":[{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/essql.json b/test/interpreter_functional/snapshots/session/essql.json new file mode 100644 index 0000000000000..d89bd10c382bd --- /dev/null +++ b/test/interpreter_functional/snapshots/session/essql.json @@ -0,0 +1 @@ +{"columns":[{"id":"@timestamp","meta":{"type":"date"},"name":"@timestamp"},{"id":"@message","meta":{"type":"string"},"name":"@message"},{"id":"bytes","meta":{"type":"number"},"name":"bytes"}],"meta":{"type":"essql"},"rows":[{"@message":"143.84.142.7 - - [2015-09-20T00:00:00.000Z] \"GET /uploads/steven-hawley.jpg HTTP/1.1\" 200 1623 \"-\" \"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\"","@timestamp":"2015-09-20T00:00:00.000Z","bytes":1623},{"@message":"193.164.192.47 - - [2015-09-20T00:30:34.206Z] \"GET /uploads/michael-foreman.jpg HTTP/1.1\" 200 8537 \"-\" \"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\"","@timestamp":"2015-09-20T00:30:34.206Z","bytes":8537},{"@message":"176.7.244.68 - - [2015-09-20T00:32:42.058Z] \"GET /uploads/james-pawelczyk.jpg HTTP/1.1\" 200 9196 \"-\" \"Mozilla/5.0 (X11; Linux i686) AppleWebKit/534.24 (KHTML, like Gecko) Chrome/11.0.696.50 Safari/534.24\"","@timestamp":"2015-09-20T00:32:42.058Z","bytes":9196},{"@message":"237.56.90.184 - - [2015-09-20T00:35:21.445Z] \"GET /uploads/david-leestma.jpg HTTP/1.1\" 200 9790 \"-\" \"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)\"","@timestamp":"2015-09-20T00:35:21.445Z","bytes":9790},{"@message":"255.56.89.50 - - [2015-09-20T00:43:01.353Z] \"GET /uploads/michael-r-barratt.jpg HTTP/1.1\" 200 9583 \"-\" \"Mozilla/5.0 (X11; Linux x86_64; rv:6.0a1) Gecko/20110421 Firefox/6.0a1\"","@timestamp":"2015-09-20T00:43:01.353Z","bytes":9583}],"type":"datatable"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/final_output_test.json b/test/interpreter_functional/snapshots/session/final_output_test.json new file mode 100644 index 0000000000000..922d266f7e187 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/final_output_test.json @@ -0,0 +1 @@ +{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"bucket":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"metrics":[{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_all_data.json b/test/interpreter_functional/snapshots/session/metric_all_data.json new file mode 100644 index 0000000000000..3b8553435624f --- /dev/null +++ b/test/interpreter_functional/snapshots/session/metric_all_data.json @@ -0,0 +1 @@ +{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"bucket":{"accessor":2,"format":{"id":"bytes","params":null},"type":"vis_dimension"},"metrics":[{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"},{"id":"col-2-1","meta":{"field":"bytes","index":"logstash-*","params":{"id":"bytes","params":null},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"field":"bytes"},"schema":"metric","type":"max"},"type":"number"},"name":"Max bytes"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891,"col-2-1":19986},{"col-0-2":"404","col-1-1":696,"col-2-1":19881},{"col-0-2":"503","col-1-1":417,"col-2-1":0}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_empty_data.json b/test/interpreter_functional/snapshots/session/metric_empty_data.json new file mode 100644 index 0000000000000..ef645bdb30afd --- /dev/null +++ b/test/interpreter_functional/snapshots/session/metric_empty_data.json @@ -0,0 +1 @@ +{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"metrics":[{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"},{"id":"col-2-1","meta":{"field":"bytes","index":"logstash-*","params":{"id":"bytes","params":null},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"field":"bytes"},"schema":"metric","type":"max"},"type":"number"},"name":"Max bytes"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_invalid_data.json b/test/interpreter_functional/snapshots/session/metric_invalid_data.json new file mode 100644 index 0000000000000..daf08c67211cc --- /dev/null +++ b/test/interpreter_functional/snapshots/session/metric_invalid_data.json @@ -0,0 +1 @@ +"[legacyMetricVis] > [visdimension] > Provided column name or index is invalid: 0" \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_multi_metric_data.json b/test/interpreter_functional/snapshots/session/metric_multi_metric_data.json new file mode 100644 index 0000000000000..90d572ab720f0 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/metric_multi_metric_data.json @@ -0,0 +1 @@ +{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"metrics":[{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},{"accessor":1,"format":{"id":"number"},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"},{"id":"col-2-1","meta":{"field":"bytes","index":"logstash-*","params":{"id":"bytes","params":null},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"field":"bytes"},"schema":"metric","type":"max"},"type":"number"},"name":"Max bytes"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891,"col-2-1":19986},{"col-0-2":"404","col-1-1":696,"col-2-1":19881},{"col-0-2":"503","col-1-1":417,"col-2-1":0}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_percentage_mode.json b/test/interpreter_functional/snapshots/session/metric_percentage_mode.json new file mode 100644 index 0000000000000..2bb96cbcb4c0a --- /dev/null +++ b/test/interpreter_functional/snapshots/session/metric_percentage_mode.json @@ -0,0 +1 @@ +{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"metrics":[{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":{"colors":["rgb(0,0,0,0)","rgb(100, 100, 100)"],"continuity":"none","gradient":false,"range":"number","rangeMax":10000,"rangeMin":0,"stops":[0,10000]},"percentageMode":true,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"},{"id":"col-2-1","meta":{"field":"bytes","index":"logstash-*","params":{"id":"bytes","params":null},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"field":"bytes"},"schema":"metric","type":"max"},"type":"number"},"name":"Max bytes"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891,"col-2-1":19986},{"col-0-2":"404","col-1-1":696,"col-2-1":19881},{"col-0-2":"503","col-1-1":417,"col-2-1":0}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/metric_single_metric_data.json b/test/interpreter_functional/snapshots/session/metric_single_metric_data.json new file mode 100644 index 0000000000000..2c9c785e4ab2a --- /dev/null +++ b/test/interpreter_functional/snapshots/session/metric_single_metric_data.json @@ -0,0 +1 @@ +{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"metrics":[{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"},{"id":"col-2-1","meta":{"field":"bytes","index":"logstash-*","params":{"id":"bytes","params":null},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"field":"bytes"},"schema":"metric","type":"max"},"type":"number"},"name":"Max bytes"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891,"col-2-1":19986},{"col-0-2":"404","col-1-1":696,"col-2-1":19881},{"col-0-2":"503","col-1-1":417,"col-2-1":0}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/partial_test_1.json b/test/interpreter_functional/snapshots/session/partial_test_1.json new file mode 100644 index 0000000000000..6e12a10d1e283 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/partial_test_1.json @@ -0,0 +1 @@ +{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"ariaLabel":null,"bucket":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"maxFontSize":72,"metric":{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/partial_test_2.json b/test/interpreter_functional/snapshots/session/partial_test_2.json new file mode 100644 index 0000000000000..922d266f7e187 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/partial_test_2.json @@ -0,0 +1 @@ +{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"bucket":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"metrics":[{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/step_output_test0.json b/test/interpreter_functional/snapshots/session/step_output_test0.json new file mode 100644 index 0000000000000..8f00d72df8ab3 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/step_output_test0.json @@ -0,0 +1 @@ +{"filters":[],"query":[],"timeRange":null,"type":"kibana_context"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/step_output_test1.json b/test/interpreter_functional/snapshots/session/step_output_test1.json new file mode 100644 index 0000000000000..8f00d72df8ab3 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/step_output_test1.json @@ -0,0 +1 @@ +{"filters":[],"query":[],"timeRange":null,"type":"kibana_context"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/step_output_test2.json b/test/interpreter_functional/snapshots/session/step_output_test2.json new file mode 100644 index 0000000000000..98eb526aa75f6 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/step_output_test2.json @@ -0,0 +1 @@ +{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/step_output_test3.json b/test/interpreter_functional/snapshots/session/step_output_test3.json new file mode 100644 index 0000000000000..922d266f7e187 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/step_output_test3.json @@ -0,0 +1 @@ +{"as":"legacyMetricVis","type":"render","value":{"canNavigateToLens":false,"visConfig":{"dimensions":{"bucket":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"metrics":[{"accessor":1,"format":{"id":"number","params":{}},"type":"vis_dimension"}]},"metric":{"autoScale":null,"colorFullBackground":false,"labels":{"position":"bottom","show":true,"style":{"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:24px;line-height:1","spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"24px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}},"metricColorMode":"None","palette":null,"percentageMode":false,"style":{"bgColor":false,"css":"font-family:'Open Sans', Helvetica, Arial, sans-serif;font-weight:normal;font-style:normal;text-decoration:none;text-align:center;font-size:60px;line-height:1","labelColor":false,"spec":{"fontFamily":"'Open Sans', Helvetica, Arial, sans-serif","fontSize":"60px","fontStyle":"normal","fontWeight":"normal","lineHeight":"1","textAlign":"center","textDecoration":"none"},"type":"style"}}},"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visType":"metric"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_all_data.json b/test/interpreter_functional/snapshots/session/tagcloud_all_data.json new file mode 100644 index 0000000000000..cb14c6ea89407 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/tagcloud_all_data.json @@ -0,0 +1 @@ +{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"ariaLabel":null,"bucket":{"accessor":1,"format":{"id":"number"},"type":"vis_dimension"},"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_empty_data.json b/test/interpreter_functional/snapshots/session/tagcloud_empty_data.json new file mode 100644 index 0000000000000..0910e67409423 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/tagcloud_empty_data.json @@ -0,0 +1 @@ +{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[],"type":"datatable"},"visParams":{"ariaLabel":null,"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_fontsize.json b/test/interpreter_functional/snapshots/session/tagcloud_fontsize.json new file mode 100644 index 0000000000000..21e213ebb9c27 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/tagcloud_fontsize.json @@ -0,0 +1 @@ +{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"ariaLabel":null,"bucket":{"accessor":1,"format":{"id":"number"},"type":"vis_dimension"},"isPreview":false,"maxFontSize":40,"metric":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"minFontSize":20,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_invalid_data.json b/test/interpreter_functional/snapshots/session/tagcloud_invalid_data.json new file mode 100644 index 0000000000000..d163fcefecabe --- /dev/null +++ b/test/interpreter_functional/snapshots/session/tagcloud_invalid_data.json @@ -0,0 +1 @@ +"[tagcloud] > [visdimension] > Provided column name or index is invalid: 0" \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_metric_data.json b/test/interpreter_functional/snapshots/session/tagcloud_metric_data.json new file mode 100644 index 0000000000000..f340c5b653e35 --- /dev/null +++ b/test/interpreter_functional/snapshots/session/tagcloud_metric_data.json @@ -0,0 +1 @@ +{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"ariaLabel":null,"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"minFontSize":18,"orientation":"single","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"linear","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/test/interpreter_functional/snapshots/session/tagcloud_options.json b/test/interpreter_functional/snapshots/session/tagcloud_options.json new file mode 100644 index 0000000000000..ecbafbbc0afba --- /dev/null +++ b/test/interpreter_functional/snapshots/session/tagcloud_options.json @@ -0,0 +1 @@ +{"as":"tagcloud","type":"render","value":{"syncColors":false,"visData":{"columns":[{"id":"col-0-2","meta":{"field":"response.raw","index":"logstash-*","params":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"2","indexPatternId":"logstash-*","params":{"excludeIsRegex":true,"field":"response.raw","includeIsRegex":true,"missingBucket":false,"missingBucketLabel":"Missing","order":"desc","orderBy":"1","otherBucket":false,"otherBucketLabel":"Other","size":4},"schema":"segment","type":"terms"},"type":"string"},"name":"response.raw: Descending"},{"id":"col-1-1","meta":{"field":null,"index":"logstash-*","params":{"id":"number"},"source":"esaggs","sourceParams":{"appliedTimeRange":null,"enabled":true,"hasPrecisionError":false,"id":"1","indexPatternId":"logstash-*","params":{"emptyAsNull":false},"schema":"metric","type":"count"},"type":"number"},"name":"Count"}],"meta":{"source":"logstash-*","statistics":{"totalCount":14004},"type":"esaggs"},"rows":[{"col-0-2":"200","col-1-1":12891},{"col-0-2":"404","col-1-1":696},{"col-0-2":"503","col-1-1":417}],"type":"datatable"},"visParams":{"ariaLabel":null,"bucket":{"accessor":1,"format":{"id":"number"},"type":"vis_dimension"},"maxFontSize":72,"metric":{"accessor":0,"format":{"id":"terms","params":{"id":"string","missingBucketLabel":"Missing","otherBucketLabel":"Other"}},"type":"vis_dimension"},"minFontSize":18,"orientation":"multiple","palette":{"name":"custom","params":{"colors":["#882E72","#B178A6","#D6C1DE","#1965B0","#5289C7","#7BAFDE","#4EB265","#90C987","#CAE0AB","#F7EE55","#F6C141","#F1932D","#E8601C","#DC050C"],"continuity":"above","gradient":false,"range":"percent","rangeMax":null,"rangeMin":0,"stops":[]},"type":"palette"},"scale":"log","showLabel":true},"visType":"tagcloud"}} \ No newline at end of file diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx index b3fa93d1ec522..a7e212f70a8b5 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/chat_item.tsx @@ -61,6 +61,12 @@ const noPanelMessageClassName = css` } `; +const accordionButtonClassName = css` + .euiAccordion__iconButton { + display: none; + } +`; + export function ChatItem({ actions: { canCopy, canEdit, canGiveFeedback, canRegenerate }, display: { collapsed }, @@ -135,7 +141,7 @@ export function ChatItem({ contentElement = ( <EuiAccordion id={accordionId} - arrowDisplay="none" + className={accordionButtonClassName} forceState={expanded ? 'open' : 'closed'} onToggle={handleToggleExpand} > diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx index b5edcf75b1214..1e438e1dd0e66 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/configure_logs.tsx @@ -326,7 +326,7 @@ export function ConfigureLogsContent() { color: euiTheme.colors.primaryText, fontSize: xsFontSize, }, - '.euiAccordion__arrow svg': { + '.euiAccordion__iconButton svg': { stroke: euiTheme.colors.primary, width: euiTheme.size.m, height: euiTheme.size.m, diff --git a/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap b/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap index 518c7bb261426..9d95afb5852dd 100644 --- a/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap +++ b/x-pack/plugins/reporting/public/share_context_menu/__snapshots__/screen_capture_panel_content.test.tsx.snap @@ -98,13 +98,13 @@ exports[`ScreenCapturePanelContent properly renders a view with "canvas" layout data-test-subj="shareReportingAdvancedOptionsButton" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="advanced-options" aria-expanded="false" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-left-isClosed" + class="euiButtonIcon euiAccordion__iconButton emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton" tabindex="-1" type="button" > @@ -131,61 +131,61 @@ exports[`ScreenCapturePanelContent properly renders a view with "canvas" layout </div> <div aria-labelledby="generated-id" - class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed" + class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper" id="advanced-options" - inert="" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> - <div - class="euiText emotion-euiText-s" + class="euiAccordion__children emotion-euiAccordion__children" > - <p> - <span> - Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. - </span> - </p> - </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> - <div - class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" - data-test-subj="shareReportingUnsavedState" - > - <p - class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> + <div + class="euiText emotion-euiText-s" > - <span - aria-hidden="true" - class="emotion-euiCallOut__icon" - color="inherit" - data-euiicon-type="warning" - /> - Unsaved work - </p> + <p> + <span> + Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. + </span> + </p> + </div> <div - class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> + <div + class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" + data-test-subj="shareReportingUnsavedState" > + <p + class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" + > + <span + aria-hidden="true" + class="emotion-euiCallOut__icon" + color="inherit" + data-euiicon-type="warning" + /> + Unsaved work + </p> <div - class="euiText emotion-euiText-s" + class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" > - <p> - <span> - Save your work before copying this URL. - </span> - </p> + <div + class="euiText emotion-euiText-s" + > + <p> + <span> + Save your work before copying this URL. + </span> + </p> + </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> </div> </div> </div> @@ -292,13 +292,13 @@ exports[`ScreenCapturePanelContent properly renders a view with "print" layout o data-test-subj="shareReportingAdvancedOptionsButton" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="advanced-options" aria-expanded="false" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-left-isClosed" + class="euiButtonIcon euiAccordion__iconButton emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton" tabindex="-1" type="button" > @@ -325,61 +325,61 @@ exports[`ScreenCapturePanelContent properly renders a view with "print" layout o </div> <div aria-labelledby="generated-id" - class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed" + class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper" id="advanced-options" - inert="" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> - <div - class="euiText emotion-euiText-s" - > - <p> - <span> - Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. - </span> - </p> - </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> + <div> <div - class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" - data-test-subj="shareReportingUnsavedState" + class="euiAccordion__children emotion-euiAccordion__children" > - <p - class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> + <div + class="euiText emotion-euiText-s" > - <span - aria-hidden="true" - class="emotion-euiCallOut__icon" - color="inherit" - data-euiicon-type="warning" - /> - Unsaved work - </p> + <p> + <span> + Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. + </span> + </p> + </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> <div - class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" + class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" + data-test-subj="shareReportingUnsavedState" > + <p + class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" + > + <span + aria-hidden="true" + class="emotion-euiCallOut__icon" + color="inherit" + data-euiicon-type="warning" + /> + Unsaved work + </p> <div - class="euiText emotion-euiText-s" + class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" > - <p> - <span> - Save your work before copying this URL. - </span> - </p> + <div + class="euiText emotion-euiText-s" + > + <p> + <span> + Save your work before copying this URL. + </span> + </p> + </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> </div> </div> </div> @@ -427,13 +427,13 @@ exports[`ScreenCapturePanelContent renders the default view properly 1`] = ` data-test-subj="shareReportingAdvancedOptionsButton" > <div - class="euiAccordion__triggerWrapper emotion-EuiAccordionTrigger" + class="euiAccordion__triggerWrapper emotion-euiAccordion__triggerWrapper" > <button aria-controls="advanced-options" aria-expanded="false" aria-labelledby="generated-id" - class="euiButtonIcon euiAccordion__arrow emotion-euiButtonIcon-xs-empty-text-euiAccordion__arrow-left-isClosed" + class="euiButtonIcon euiAccordion__iconButton emotion-euiButtonIcon-xs-empty-text-euiAccordion__iconButton" tabindex="-1" type="button" > @@ -460,61 +460,61 @@ exports[`ScreenCapturePanelContent renders the default view properly 1`] = ` </div> <div aria-labelledby="generated-id" - class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper-isClosed" + class="euiAccordion__childWrapper emotion-euiAccordion__childWrapper" id="advanced-options" - inert="" role="region" - style="block-size: 0;" tabindex="-1" > - <div - class="euiAccordion__children emotion-euiAccordion__children" - > + <div> <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> - <div - class="euiText emotion-euiText-s" + class="euiAccordion__children emotion-euiAccordion__children" > - <p> - <span> - Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. - </span> - </p> - </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> - <div - class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" - data-test-subj="shareReportingUnsavedState" - > - <p - class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> + <div + class="euiText emotion-euiText-s" > - <span - aria-hidden="true" - class="emotion-euiCallOut__icon" - color="inherit" - data-euiicon-type="warning" - /> - Unsaved work - </p> + <p> + <span> + Alternatively, copy this POST URL to call generation from outside Kibana or from Watcher. + </span> + </p> + </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> <div - class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" + class="euiPanel euiPanel--danger euiPanel--paddingSmall euiCallOut euiCallOut--danger emotion-euiPanel-none-s-danger-euiCallOut" + data-test-subj="shareReportingUnsavedState" > + <p + class="euiTitle euiCallOutHeader__title emotion-euiTitle-xxs-euiCallOutHeader-danger" + > + <span + aria-hidden="true" + class="emotion-euiCallOut__icon" + color="inherit" + data-euiicon-type="warning" + /> + Unsaved work + </p> <div - class="euiText emotion-euiText-s" + class="euiText emotion-euiText-xs-euiTextColor-default-euiCallOut__description" > - <p> - <span> - Save your work before copying this URL. - </span> - </p> + <div + class="euiText emotion-euiText-s" + > + <p> + <span> + Save your work before copying this URL. + </span> + </p> + </div> + <div + class="euiSpacer euiSpacer--s emotion-euiSpacer-s" + /> </div> - <div - class="euiSpacer euiSpacer--s emotion-euiSpacer-s" - /> </div> </div> </div> diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 4f8dbc159e304..31789c2078294 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -651,6 +651,7 @@ "core.deprecations.elasticsearchUsername.manualSteps2": "Ajoutez le paramètre \"elasticsearch.serviceAccountToken\" à kibana.yml.", "core.deprecations.elasticsearchUsername.manualSteps3": "Supprimez \"elasticsearch.username\" et \"elasticsearch.password\" de kibana.yml.", "core.deprecations.noCorrectiveAction": "Ce déclassement ne peut pas être résolu automatiquement.", + "core.euiAccordion.isLoading": "Chargement", "core.euiAutoRefresh.autoRefreshLabel": "Actualisation automatique", "core.euiAutoRefresh.buttonLabelOff": "L'actualisation automatique est désactivée", "core.euiBasicTable.noItemsMessage": "Aucun élément n'a été trouvé", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 7445bbd2f2a5a..88b6cac53927d 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -665,6 +665,7 @@ "core.deprecations.elasticsearchUsername.manualSteps2": "「elasticsearch.serviceAccountToken」設定をkibana.ymlに追加します。", "core.deprecations.elasticsearchUsername.manualSteps3": "kibana.ymlから「elasticsearch.username」と「elasticsearch.password」を削除します。", "core.deprecations.noCorrectiveAction": "この廃止予定は自動的に解決できません。", + "core.euiAccordion.isLoading": "読み込み中", "core.euiAutoRefresh.autoRefreshLabel": "自動更新", "core.euiAutoRefresh.buttonLabelOff": "自動更新はオフです", "core.euiBasicTable.noItemsMessage": "項目が見つかりません", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 2a04d09bedd94..1328b87d357fa 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -665,6 +665,7 @@ "core.deprecations.elasticsearchUsername.manualSteps2": "将“elasticsearch.serviceAccountToken”设置添加到 kibana.yml。", "core.deprecations.elasticsearchUsername.manualSteps3": "从 kibana.yml 中移除“elasticsearch.username”和“elasticsearch.password”。", "core.deprecations.noCorrectiveAction": "无法自动解决此弃用。", + "core.euiAccordion.isLoading": "正在加载", "core.euiAutoRefresh.autoRefreshLabel": "自动刷新", "core.euiAutoRefresh.buttonLabelOff": "自动刷新已关闭", "core.euiBasicTable.noItemsMessage": "找不到项目", diff --git a/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.scss b/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.scss index d554b876faa90..85d161d5c978a 100644 --- a/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.scss +++ b/x-pack/plugins/triggers_actions_ui/public/application/lib/check_action_type_enabled.scss @@ -15,9 +15,9 @@ padding-left: $euiSizeL; } -.actAccordionActionForm .euiAccordion__arrow { +.actAccordionActionForm .euiAccordion__iconButton { transform: translateX($euiSizeM) rotate(0deg) !important; } -.actAccordionActionForm .euiAccordion__arrow[aria-expanded='true'] { +.actAccordionActionForm .euiAccordion__iconButton.euiAccordion__iconButton-isOpen { transform: translateX($euiSizeM) rotate(90deg) !important; } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 190b88330273f..a743d2ee4a6ea 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1216,7 +1216,7 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/runtime@^7.12.1": +"@babel/runtime@^7.12.1", "@babel/runtime@^7.19.4": version "7.22.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.6.tgz#57d64b9ae3cff1d67eb067ae117dac087f5bd438" integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== @@ -1596,13 +1596,13 @@ resolved "https://registry.yarnpkg.com/@elastic/eslint-plugin-eui/-/eslint-plugin-eui-0.0.2.tgz#56b9ef03984a05cc213772ae3713ea8ef47b0314" integrity sha512-IoxURM5zraoQ7C8f+mJb9HYSENiZGgRVcG4tLQxE61yHNNRDXtGDWTZh8N1KIHcsqN1CEPETjuzBXkJYF/fDiQ== -"@elastic/eui@88.3.0": - version "88.3.0" - resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-88.3.0.tgz#4f17c04667b94c3e26f6979d458361d4c359949b" - integrity sha512-vO4oK+O0cKZkzonGbY4GE/xuKgJbqRktbccGsQmyPh/S9heYssWikyN1n0y2VTTel3DG0f4OCHd4fNum8ZPNOQ== +"@elastic/eui@88.2.0": + version "88.2.0" + resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-88.2.0.tgz#ba29775ceaca27b6c44300bcd58783acf720b420" + integrity sha512-h756c4vB6lcyrf5bVZhLeaACWYh2t5Y8rxIX1/0BTQ4kJugBoSwSbSdGgW4G1tUa6hdYEsCzqvAQ2mI6LPSbbw== dependencies: - "@hello-pangea/dnd" "^16.3.0" - "@types/lodash" "^4.14.198" + "@hello-pangea/dnd" "^16.2.0" + "@types/lodash" "^4.14.194" "@types/numeral" "^2.0.2" "@types/react-input-autosize" "^2.2.1" "@types/react-window" "^1.8.5" @@ -2542,6 +2542,19 @@ "@hapi/bourne" "2.x.x" "@hapi/hoek" "9.x.x" +"@hello-pangea/dnd@^16.2.0": + version "16.2.0" + resolved "https://registry.yarnpkg.com/@hello-pangea/dnd/-/dnd-16.2.0.tgz#58cbadeb56f8c7a381da696bb7aa3bfbb87876ec" + integrity sha512-inACvMcvvLr34CG0P6+G/3bprVKhwswxjcsFUSJ+fpOGjhvDj9caiA9X3clby0lgJ6/ILIJjyedHZYECB7GAgA== + dependencies: + "@babel/runtime" "^7.19.4" + css-box-model "^1.2.1" + memoize-one "^6.0.0" + raf-schd "^4.0.3" + react-redux "^8.0.4" + redux "^4.2.0" + use-memo-one "^1.1.3" + "@hello-pangea/dnd@^16.3.0": version "16.3.0" resolved "https://registry.yarnpkg.com/@hello-pangea/dnd/-/dnd-16.3.0.tgz#3776212f812df4e8e69c42831ec8ab7ff3a087d6" @@ -9235,10 +9248,10 @@ resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.184.tgz#23f96cd2a21a28e106dc24d825d4aa966de7a9fe" integrity sha512-RoZphVtHbxPZizt4IcILciSWiC6dcn+eZ8oX9IWEYfDMcocdd42f7NPI6fQj+6zI8y4E0L7gu2pcZKLGTRaV9Q== -"@types/lodash@^4.14.198": - version "4.14.198" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.198.tgz#4d27465257011aedc741a809f1269941fa2c5d4c" - integrity sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg== +"@types/lodash@^4.14.194": + version "4.14.194" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.194.tgz#b71eb6f7a0ff11bff59fc987134a093029258a76" + integrity sha512-r22s9tAS7imvBt2lyHC9B8AGwWnXaYb1tY09oyLkXDs4vArpYJzw09nj8MLx5VfciBPGIb+ZwG0ssYnEPJxn/g== "@types/long@^4.0.0", "@types/long@^4.0.1": version "4.0.2" @@ -25508,6 +25521,18 @@ react-redux@^7.1.0, react-redux@^7.2.8: prop-types "^15.7.2" react-is "^17.0.2" +react-redux@^8.0.4: + version "8.0.5" + resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.5.tgz#e5fb8331993a019b8aaf2e167a93d10af469c7bd" + integrity sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw== + dependencies: + "@babel/runtime" "^7.12.1" + "@types/hoist-non-react-statics" "^3.3.1" + "@types/use-sync-external-store" "^0.0.3" + hoist-non-react-statics "^3.3.2" + react-is "^18.0.0" + use-sync-external-store "^1.0.0" + react-redux@^8.1.1: version "8.1.2" resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.1.2.tgz#9076bbc6b60f746659ad6d51cb05de9c5e1e9188" From a7e196d2a4cee263331c52cdc4ac1cd962febc96 Mon Sep 17 00:00:00 2001 From: Maxim Palenov <maxim.palenov@elastic.co> Date: Mon, 18 Sep 2023 16:57:30 -0700 Subject: [PATCH 107/149] [Security Solution] Add missing version headers for Fleet test utility functions (#166660) ## Summary This PR adds missing version header for Fleet test utility functions. Tests work normally in CI without explicitly specified version headers but fail locally making running and debugging tests impossible. --- .../cypress/tasks/api_calls/fleet.ts | 31 ++++++++++++++++--- 1 file changed, 26 insertions(+), 5 deletions(-) diff --git a/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/fleet.ts b/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/fleet.ts index 95647649259dc..5295b033fc7cf 100644 --- a/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/fleet.ts +++ b/x-pack/test/security_solution_cypress/cypress/tasks/api_calls/fleet.ts @@ -25,13 +25,21 @@ const deleteAgentPolicies = () => { return rootRequest<{ items: Array<{ id: string }> }>({ method: 'GET', url: 'api/fleet/agent_policies', - headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, + headers: { + 'kbn-xsrf': 'cypress-creds', + 'x-elastic-internal-origin': 'security-solution', + 'elastic-api-version': '2023-10-31', + }, }).then((response) => { response.body.items.forEach((item: { id: string }) => { rootRequest({ method: 'POST', url: `api/fleet/agent_policies/delete`, - headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, + headers: { + 'kbn-xsrf': 'cypress-creds', + 'x-elastic-internal-origin': 'security-solution', + 'elastic-api-version': '2023-10-31', + }, body: { agentPolicyId: item.id, }, @@ -44,12 +52,20 @@ const deletePackagePolicies = () => { return rootRequest<{ items: Array<{ id: string }> }>({ method: 'GET', url: 'api/fleet/package_policies', - headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, + headers: { + 'kbn-xsrf': 'cypress-creds', + 'x-elastic-internal-origin': 'security-solution', + 'elastic-api-version': '2023-10-31', + }, }).then((response) => { rootRequest({ method: 'POST', url: `api/fleet/package_policies/delete`, - headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, + headers: { + 'kbn-xsrf': 'cypress-creds', + 'x-elastic-internal-origin': 'security-solution', + 'elastic-api-version': '2023-10-31', + }, body: { packagePolicyIds: response.body.items.map((item: { id: string }) => item.id), }, @@ -61,7 +77,11 @@ const deletePackages = () => { return rootRequest<{ items: Array<{ status: string; name: string; version: string }> }>({ method: 'GET', url: 'api/fleet/epm/packages', - headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution' }, + headers: { + 'kbn-xsrf': 'cypress-creds', + 'x-elastic-internal-origin': 'security-solution', + 'elastic-api-version': '2023-10-31', + }, }).then((response) => { response.body.items.forEach((item) => { if (item.status === 'installed') { @@ -71,6 +91,7 @@ const deletePackages = () => { headers: { 'kbn-xsrf': 'cypress-creds', 'x-elastic-internal-origin': 'security-solution', + 'elastic-api-version': '2023-10-31', }, }); } From 6a96906f26e3a765704bb9b4877771b5b0fbcfee Mon Sep 17 00:00:00 2001 From: Maxim Palenov <maxim.palenov@elastic.co> Date: Mon, 18 Sep 2023 17:20:59 -0700 Subject: [PATCH 108/149] [Security Solution] Improve rule execution logging (#166070) **Relates to:** https://github.com/elastic/kibana/pull/126063 ## Summary This PR extends rule event log's filter and improves log messages. ## Details We have Rule execution log feature hidden by a feature flag and disabled, it's shown on a rule details page when enabled. <img width="1782" alt="image" src="https://github.com/elastic/kibana/assets/3775283/71565d96-13aa-4275-b870-22118ac90335"> The feature is close to a releasable state but some tasks had to be addressed to make it usable. This PR addresses the following tasks to make rule execution log feature releasable - Adds search bar to search for specific messages <img width="1529" alt="image" src="https://github.com/elastic/kibana/assets/3775283/4bd198de-60e8-4511-a96d-4d68ec53a7f2"> - Adds a date range filter by default set to show logs for last 24 hours <img width="1529" alt="image" src="https://github.com/elastic/kibana/assets/3775283/b9d7e658-a19a-402a-a039-28d225000952"> - Improves error, warning and debug messages - Returns rule metrics in a message as a serialized JSON <img width="1526" alt="image" src="https://github.com/elastic/kibana/assets/3775283/7d9501b9-4a12-4d31-be99-6ce3c04b2b97"> - Adds `execution_id` to the response <img width="1522" alt="image" src="https://github.com/elastic/kibana/assets/3775283/92d1291e-0605-456c-abca-8c6fd329ade2"> ### Tasks to address later - [ ] Further improve logging messages. We have either error, warning or debug messages. In fact info or trace levels aren't used but it can give useful info. - [ ] Add an OpenAPI spec for the rule execution log endpoint --- .../model/execution_event.mock.ts | 20 +++-- .../rule_monitoring/model/execution_event.ts | 3 +- .../get_rule_execution_events_route.ts | 23 +++-- .../api/__mocks__/api_client.ts | 1 + .../rule_monitoring/api/api_client.test.ts | 55 +++++++++--- .../rule_monitoring/api/api_client.ts | 35 ++++++-- .../api/api_client_interface.ts | 15 ++++ .../event_message_filter.tsx | 35 ++++++++ .../event_message_filter/index.ts | 8 ++ .../event_message_filter/translations.ts | 22 +++++ .../execution_events_table.tsx | 22 ++++- .../use_execution_events.test.tsx | 1 + .../execution_events_table/use_filters.ts | 22 ++++- .../check_metadata_transforms_task.ts | 2 +- .../metadata/endpoint_metadata_service.ts | 2 +- .../handlers/validate_integration_config.ts | 10 +-- .../get_rule_execution_events_route.ts | 3 + .../logic/event_log/event_log_fields.ts | 1 + .../client_for_routes/client_interface.ts | 17 +++- .../event_log/event_log_reader.ts | 89 ++++++++++++++++--- .../create_security_rule_type_wrapper.ts | 23 ++--- .../factories/bulk_create_factory.ts | 10 +-- .../bulk_create_with_suppression.ts | 10 +-- .../create_single_field_match_enrichment.ts | 2 +- .../filter_events_against_list.test.ts | 2 +- .../filter_events_against_list.ts | 4 +- .../utils/search_after_bulk_create.ts | 65 +++++++++----- .../rule_types/utils/send_telemetry_events.ts | 2 +- .../rule_types/utils/single_search_after.ts | 4 +- .../rule_types/utils/utils.test.ts | 4 +- .../rule_types/utils/utils.ts | 8 +- .../lib/risk_engine/utils/create_index.ts | 2 +- .../group1/check_privileges.ts | 4 +- .../group1/create_rules.ts | 2 +- .../group10/get_rule_execution_results.ts | 2 +- 35 files changed, 398 insertions(+), 132 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/event_message_filter.tsx create mode 100644 x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/index.ts create mode 100644 x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/translations.ts diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/model/execution_event.mock.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/model/execution_event.mock.ts index 0cb49804b13a6..c8efaa8dd85b8 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/model/execution_event.mock.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/model/execution_event.mock.ts @@ -18,8 +18,9 @@ const getMessageEvent = (props: Partial<RuleExecutionEvent> = {}): RuleExecution timestamp: DEFAULT_TIMESTAMP, sequence: DEFAULT_SEQUENCE_NUMBER, level: LogLevel.debug, + execution_id: 'execution-id-1', message: 'Some message', - // Overriden values + // Overridden values ...props, // Mandatory values for this type of event type: RuleExecutionEventType.message, @@ -31,8 +32,9 @@ const getRunningStatusChange = (props: Partial<RuleExecutionEvent> = {}): RuleEx // Default values timestamp: DEFAULT_TIMESTAMP, sequence: DEFAULT_SEQUENCE_NUMBER, + execution_id: 'execution-id-1', message: 'Rule changed status to "running"', - // Overriden values + // Overridden values ...props, // Mandatory values for this type of event level: LogLevel.info, @@ -47,8 +49,9 @@ const getPartialFailureStatusChange = ( // Default values timestamp: DEFAULT_TIMESTAMP, sequence: DEFAULT_SEQUENCE_NUMBER, + execution_id: 'execution-id-1', message: 'Rule changed status to "partial failure". Unknown error', - // Overriden values + // Overridden values ...props, // Mandatory values for this type of event level: LogLevel.warn, @@ -61,8 +64,9 @@ const getFailedStatusChange = (props: Partial<RuleExecutionEvent> = {}): RuleExe // Default values timestamp: DEFAULT_TIMESTAMP, sequence: DEFAULT_SEQUENCE_NUMBER, + execution_id: 'execution-id-1', message: 'Rule changed status to "failed". Unknown error', - // Overriden values + // Overridden values ...props, // Mandatory values for this type of event level: LogLevel.error, @@ -75,8 +79,9 @@ const getSucceededStatusChange = (props: Partial<RuleExecutionEvent> = {}): Rule // Default values timestamp: DEFAULT_TIMESTAMP, sequence: DEFAULT_SEQUENCE_NUMBER, + execution_id: 'execution-id-1', message: 'Rule changed status to "succeeded". Rule executed successfully', - // Overriden values + // Overridden values ...props, // Mandatory values for this type of event level: LogLevel.info, @@ -89,8 +94,9 @@ const getExecutionMetricsEvent = (props: Partial<RuleExecutionEvent> = {}): Rule // Default values timestamp: DEFAULT_TIMESTAMP, sequence: DEFAULT_SEQUENCE_NUMBER, - message: '', - // Overriden values + execution_id: 'execution-id-1', + message: JSON.stringify({ some_metric_ms: 10 }), + // Overridden values ...props, // Mandatory values for this type of event level: LogLevel.debug, diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/model/execution_event.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/model/execution_event.ts index 3eaa2ca7efad0..64acfb01e2e2a 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/model/execution_event.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/model/execution_event.ts @@ -6,7 +6,7 @@ */ import * as t from 'io-ts'; -import { enumeration, IsoDateString } from '@kbn/securitysolution-io-ts-types'; +import { enumeration, IsoDateString, NonEmptyString } from '@kbn/securitysolution-io-ts-types'; import { enumFromString } from '../../../../utils/enum_from_string'; import { TLogLevel } from './log_level'; @@ -56,5 +56,6 @@ export const RuleExecutionEvent = t.type({ sequence: t.number, level: TLogLevel, type: TRuleExecutionEventType, + execution_id: NonEmptyString, message: t.string, }); diff --git a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/rule_execution_logs/get_rule_execution_events/get_rule_execution_events_route.ts b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/rule_execution_logs/get_rule_execution_events/get_rule_execution_events_route.ts index 9f5bd8d273efc..628e71cf51790 100644 --- a/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/rule_execution_logs/get_rule_execution_events/get_rule_execution_events_route.ts +++ b/x-pack/plugins/security_solution/common/api/detection_engine/rule_monitoring/rule_execution_logs/get_rule_execution_events/get_rule_execution_events_route.ts @@ -8,7 +8,7 @@ import * as t from 'io-ts'; import { DefaultPerPage, DefaultPage } from '@kbn/securitysolution-io-ts-alerting-types'; -import { defaultCsvArray, NonEmptyString } from '@kbn/securitysolution-io-ts-types'; +import { defaultCsvArray, IsoDateString, NonEmptyString } from '@kbn/securitysolution-io-ts-types'; import { DefaultSortOrderDesc, PaginationResult } from '../../../model'; import { RuleExecutionEvent, TRuleExecutionEventType, TLogLevel } from '../../model'; @@ -32,13 +32,20 @@ export type GetRuleExecutionEventsRequestQuery = t.TypeOf< typeof GetRuleExecutionEventsRequestQuery >; export const GetRuleExecutionEventsRequestQuery = t.exact( - t.type({ - event_types: defaultCsvArray(TRuleExecutionEventType), - log_levels: defaultCsvArray(TLogLevel), - sort_order: DefaultSortOrderDesc, // defaults to 'desc' - page: DefaultPage, // defaults to 1 - per_page: DefaultPerPage, // defaults to 20 - }) + t.intersection([ + t.partial({ + search_term: NonEmptyString, + event_types: defaultCsvArray(TRuleExecutionEventType), + log_levels: defaultCsvArray(TLogLevel), + date_start: IsoDateString, + date_end: IsoDateString, + }), + t.type({ + sort_order: DefaultSortOrderDesc, // defaults to 'desc' + page: DefaultPage, // defaults to 1 + per_page: DefaultPerPage, // defaults to 20 + }), + ]) ); /** diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/__mocks__/api_client.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/__mocks__/api_client.ts index 18328e5b9b901..b5b8f201f0ff3 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/__mocks__/api_client.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/__mocks__/api_client.ts @@ -32,6 +32,7 @@ export const api: jest.Mocked<IRuleMonitoringApiClient> = { sequence: 0, level: LogLevel.info, type: RuleExecutionEventType['status-change'], + execution_id: 'execution-id-1', message: 'Rule changed status to "succeeded". Rule execution completed without errors', }, ], diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client.test.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client.test.ts index 9fac84959f7dc..d1317e2f74252 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client.test.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client.test.ts @@ -72,14 +72,51 @@ describe('Rule Monitoring API Client', () => { ); }); - it('calls API correctly with filter and pagination options', async () => { + const ISO_PATTERN = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/; + + it.each([ + [ + 'search term filter', + { searchTerm: 'something to search' }, + { search_term: 'something to search' }, + ], + [ + 'event types filter', + { eventTypes: [RuleExecutionEventType.message] }, + { event_types: 'message' }, + ], + [ + 'log level filter', + { logLevels: [LogLevel.warn, LogLevel.error] }, + { log_levels: 'warn,error' }, + ], + [ + 'start date filter in relative format', + { dateRange: { start: 'now-1d/d' } }, + { date_start: expect.stringMatching(ISO_PATTERN) }, + ], + [ + 'end date filter', + { dateRange: { end: 'now-3d/d' } }, + { date_end: expect.stringMatching(ISO_PATTERN) }, + ], + [ + 'date range filter in relative format', + { dateRange: { start: new Date().toISOString(), end: new Date().toISOString() } }, + { + date_start: expect.stringMatching(ISO_PATTERN), + date_end: expect.stringMatching(ISO_PATTERN), + }, + ], + [ + 'pagination', + { sortOrder: 'asc', page: 42, perPage: 146 } as const, + { sort_order: 'asc', page: 42, per_page: 146 }, + ], + ])('calls API correctly with %s', async (_, params, expectedParams) => { await api.fetchRuleExecutionEvents({ ruleId: '42', - eventTypes: [RuleExecutionEventType.message], - logLevels: [LogLevel.warn, LogLevel.error], - sortOrder: 'asc', - page: 42, - perPage: 146, + ...params, }); expect(fetchMock).toHaveBeenCalledWith( @@ -87,11 +124,7 @@ describe('Rule Monitoring API Client', () => { expect.objectContaining({ method: 'GET', query: { - event_types: 'message', - log_levels: 'warn,error', - sort_order: 'asc', - page: 42, - per_page: 146, + ...expectedParams, }, }) ); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client.ts index d5d34447d2bf4..bd1bf80a0f4c3 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { omitBy, isUndefined } from 'lodash'; import dateMath from '@kbn/datemath'; import { KibanaServices } from '../../../common/lib/kibana'; @@ -36,20 +37,38 @@ export const api: IRuleMonitoringApiClient = { fetchRuleExecutionEvents: ( args: FetchRuleExecutionEventsArgs ): Promise<GetRuleExecutionEventsResponse> => { - const { ruleId, eventTypes, logLevels, sortOrder, page, perPage, signal } = args; + const { + ruleId, + searchTerm, + eventTypes, + logLevels, + dateRange, + sortOrder, + page, + perPage, + signal, + } = args; const url = getRuleExecutionEventsUrl(ruleId); + const startDate = dateMath.parse(dateRange?.start ?? '')?.toISOString(); + const endDate = dateMath.parse(dateRange?.end ?? '', { roundUp: true })?.toISOString(); return http().fetch<GetRuleExecutionEventsResponse>(url, { method: 'GET', version: '1', - query: { - event_types: eventTypes?.join(','), - log_levels: logLevels?.join(','), - sort_order: sortOrder, - page, - per_page: perPage, - }, + query: omitBy( + { + search_term: searchTerm?.length ? searchTerm : undefined, + event_types: eventTypes?.length ? eventTypes.join(',') : undefined, + log_levels: logLevels?.length ? logLevels.join(',') : undefined, + date_start: startDate, + date_end: endDate, + sort_order: sortOrder, + page, + per_page: perPage, + }, + isUndefined + ), signal, }); }, diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client_interface.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client_interface.ts index 4ded970a28e4d..a51059a16ef42 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client_interface.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/api/api_client_interface.ts @@ -46,12 +46,22 @@ export interface RuleMonitoringApiCallArgs { signal?: AbortSignal; } +export interface DateRange { + start?: string; + end?: string; +} + export interface FetchRuleExecutionEventsArgs extends RuleMonitoringApiCallArgs { /** * Saved Object ID of the rule (`rule.id`, not static `rule.rule_id`). */ ruleId: string; + /** + * Filter by event message. If set, result will include events matching the search term. + */ + searchTerm?: string; + /** * Filter by event type. If set, result will include only events matching any of these. */ @@ -62,6 +72,11 @@ export interface FetchRuleExecutionEventsArgs extends RuleMonitoringApiCallArgs */ logLevels?: LogLevel[]; + /** + * Filter by date range. If set, result will include only events recorded in the specified date range. + */ + dateRange?: DateRange; + /** * What order to sort by (e.g. `asc` or `desc`). */ diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/event_message_filter.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/event_message_filter.tsx new file mode 100644 index 0000000000000..b8d45ed5fb1a3 --- /dev/null +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/event_message_filter.tsx @@ -0,0 +1,35 @@ +/* + * 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 { ChangeEvent } from 'react'; +import React, { useCallback } from 'react'; +import { EuiFieldSearch } from '@elastic/eui'; +import * as i18n from './translations'; + +interface EventMessageFilterProps { + value: string; + onChange: (value: string) => void; +} + +export function EventMessageFilter({ value, onChange }: EventMessageFilterProps): JSX.Element { + const handleChange = useCallback( + (e: ChangeEvent<HTMLInputElement>) => onChange(e.target.value), + [onChange] + ); + + return ( + <EuiFieldSearch + aria-label={i18n.SEARCH_BY_EVENT_MESSAGE_ARIA_LABEL} + fullWidth + incremental={false} + placeholder={i18n.SEARCH_BY_EVENT_MESSAGE_PLACEHOLDER} + value={value} + onChange={handleChange} + data-test-subj="ruleEventLogMessageSearchField" + /> + ); +} diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/index.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/index.ts new file mode 100644 index 0000000000000..2b07bf7cf86a8 --- /dev/null +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/index.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 './event_message_filter'; diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/translations.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/translations.ts new file mode 100644 index 0000000000000..f82c812d8208c --- /dev/null +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/event_message_filter/translations.ts @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const SEARCH_BY_EVENT_MESSAGE_ARIA_LABEL = i18n.translate( + 'xpack.securitySolution.detectionEngine.rules.eventLog.searchAriaLabel', + { + defaultMessage: 'Search by event message', + } +); + +export const SEARCH_BY_EVENT_MESSAGE_PLACEHOLDER = i18n.translate( + 'xpack.securitySolution.detectionEngine.rules.eventLog.searchPlaceholder', + { + defaultMessage: 'Search by event message', + } +); diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/execution_events_table.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/execution_events_table.tsx index 27f500c26dac6..f05636f9aced1 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/execution_events_table.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/execution_events_table.tsx @@ -7,7 +7,13 @@ import React, { useCallback, useEffect, useMemo } from 'react'; import type { CriteriaWithPagination } from '@elastic/eui'; -import { EuiBasicTable, EuiFlexGroup, EuiFlexItem, EuiPanel } from '@elastic/eui'; +import { + EuiBasicTable, + EuiFlexGroup, + EuiFlexItem, + EuiPanel, + EuiSuperDatePicker, +} from '@elastic/eui'; import type { RuleExecutionEvent } from '../../../../../common/api/detection_engine/rule_monitoring'; @@ -22,6 +28,7 @@ import { usePagination } from '../basic/tables/use_pagination'; import { useColumns } from './use_columns'; import { useExpandableRows } from '../basic/tables/use_expandable_rows'; import { useExecutionEvents } from './use_execution_events'; +import { EventMessageFilter } from './event_message_filter'; import * as i18n from './translations'; @@ -56,8 +63,10 @@ const ExecutionEventsTableComponent: React.FC<ExecutionEventsTableProps> = ({ ru const executionEvents = useExecutionEvents({ ruleId, + searchTerm: filters.state.searchTerm, eventTypes: filters.state.eventTypes, logLevels: filters.state.logLevels, + dateRange: filters.state.dateRange, sortOrder: sorting.state.sort.direction, page: pagination.state.pageNumber, perPage: pagination.state.pageSize, @@ -86,6 +95,9 @@ const ExecutionEventsTableComponent: React.FC<ExecutionEventsTableProps> = ({ ru <EuiFlexItem grow={true}> <HeaderSection title={i18n.TABLE_TITLE} subtitle={i18n.TABLE_SUBTITLE} /> </EuiFlexItem> + <EuiFlexItem grow> + <EventMessageFilter value={filters.state.searchTerm} onChange={filters.setSearchTerm} /> + </EuiFlexItem> <EuiFlexItem grow={false}> <LogLevelFilter selectedItems={filters.state.logLevels} onChange={filters.setLogLevels} /> </EuiFlexItem> @@ -95,6 +107,14 @@ const ExecutionEventsTableComponent: React.FC<ExecutionEventsTableProps> = ({ ru onChange={filters.setEventTypes} /> </EuiFlexItem> + <EuiFlexItem grow={false}> + <EuiSuperDatePicker + start={filters.state.dateRange.start} + end={filters.state.dateRange.end} + onTimeChange={filters.setDateRange} + showUpdateButton={false} + /> + </EuiFlexItem> </EuiFlexGroup> {/* Table with items */} diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/use_execution_events.test.tsx b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/use_execution_events.test.tsx index b701b3bc48f74..866e0e44b6c77 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/use_execution_events.test.tsx +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/use_execution_events.test.tsx @@ -87,6 +87,7 @@ describe('useExecutionEvents', () => { sequence: 0, level: LogLevel.info, type: RuleExecutionEventType['status-change'], + execution_id: 'execution-id-1', message: 'Rule changed status to "succeeded". Rule execution completed without errors', }, ], diff --git a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/use_filters.ts b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/use_filters.ts index 36fa393467d5e..3079ff19db160 100644 --- a/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/use_filters.ts +++ b/x-pack/plugins/security_solution/public/detection_engine/rule_monitoring/components/execution_events_table/use_filters.ts @@ -11,15 +11,29 @@ import type { LogLevel, RuleExecutionEventType, } from '../../../../../common/api/detection_engine/rule_monitoring'; +import type { DateRange } from '../../api'; export const useFilters = () => { + const [searchTerm, setSearchTerm] = useState<string>(''); const [logLevels, setLogLevels] = useState<LogLevel[]>([]); const [eventTypes, setEventTypes] = useState<RuleExecutionEventType[]>([]); - - const state = useMemo(() => ({ logLevels, eventTypes }), [logLevels, eventTypes]); + const [dateRange, setDateRange] = useState<DateRange>({ + start: 'now-24h', + end: 'now', + }); + const state = useMemo( + () => ({ searchTerm, logLevels, eventTypes, dateRange }), + [searchTerm, logLevels, eventTypes, dateRange] + ); return useMemo( - () => ({ state, setLogLevels, setEventTypes }), - [state, setLogLevels, setEventTypes] + () => ({ + state, + setSearchTerm, + setLogLevels, + setEventTypes, + setDateRange, + }), + [state, setSearchTerm, setLogLevels, setEventTypes, setDateRange] ); }; diff --git a/x-pack/plugins/security_solution/server/endpoint/lib/metadata/check_metadata_transforms_task.ts b/x-pack/plugins/security_solution/server/endpoint/lib/metadata/check_metadata_transforms_task.ts index 518780bbbf8a6..ca7a73a272192 100644 --- a/x-pack/plugins/security_solution/server/endpoint/lib/metadata/check_metadata_transforms_task.ts +++ b/x-pack/plugins/security_solution/server/endpoint/lib/metadata/check_metadata_transforms_task.ts @@ -196,7 +196,7 @@ export class CheckMetadataTransformsTask { if (attempts > MAX_ATTEMPTS) { this.logger.warn( - `transform ${transform.id} has failed to restart ${attempts} times. stopping auto restart attempts.` + `Transform ${transform.id} has failed to restart ${attempts} times. stopping auto restart attempts.` ); return { attempts, diff --git a/x-pack/plugins/security_solution/server/endpoint/services/metadata/endpoint_metadata_service.ts b/x-pack/plugins/security_solution/server/endpoint/services/metadata/endpoint_metadata_service.ts index 748e2c1058036..918d29c21f95f 100644 --- a/x-pack/plugins/security_solution/server/endpoint/services/metadata/endpoint_metadata_service.ts +++ b/x-pack/plugins/security_solution/server/endpoint/services/metadata/endpoint_metadata_service.ts @@ -236,7 +236,7 @@ export class EndpointMetadataService { fleetAgent = await this.getFleetAgent(fleetServices.agent, fleetAgentId); } catch (error) { if (error instanceof FleetAgentNotFoundError) { - this.logger?.warn(`agent with id ${fleetAgentId} not found`); + this.logger?.warn(`Agent with id ${fleetAgentId} not found`); } else { throw error; } diff --git a/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_integration_config.ts b/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_integration_config.ts index 711b46babbc54..d572b15bb4d2d 100644 --- a/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_integration_config.ts +++ b/x-pack/plugins/security_solution/server/fleet_integration/handlers/validate_integration_config.ts @@ -32,8 +32,8 @@ const validateEndpointIntegrationConfig = ( logger: Logger ): void => { if (!config?.endpointConfig?.preset) { - logger.warn('missing endpointConfig preset'); - throwError('invalid endpointConfig preset'); + logger.warn('Missing endpointConfig preset'); + throwError('Invalid endpointConfig preset'); } if ( ![ @@ -43,8 +43,8 @@ const validateEndpointIntegrationConfig = ( ENDPOINT_CONFIG_PRESET_DATA_COLLECTION, ].includes(config.endpointConfig.preset) ) { - logger.warn(`invalid endpointConfig preset: ${config.endpointConfig.preset}`); - throwError('invalid endpointConfig preset'); + logger.warn(`Invalid endpointConfig preset: ${config.endpointConfig.preset}`); + throwError('Invalid endpointConfig preset'); } }; const validateCloudIntegrationConfig = (config: PolicyCreateCloudConfig, logger: Logger): void => { @@ -56,7 +56,7 @@ const validateCloudIntegrationConfig = (config: PolicyCreateCloudConfig, logger: } if (typeof config.eventFilters?.nonInteractiveSession !== 'boolean') { logger.warn( - `missing or invalid value for eventFilters nonInteractiveSession: ${config.eventFilters?.nonInteractiveSession}` + `Missing or invalid value for eventFilters nonInteractiveSession: ${config.eventFilters?.nonInteractiveSession}` ); throwError('invalid value for eventFilters nonInteractiveSession'); } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/rule_execution_logs/get_rule_execution_events/get_rule_execution_events_route.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/rule_execution_logs/get_rule_execution_events/get_rule_execution_events_route.ts index 10c8cc065b996..1049cbb5c89e1 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/rule_execution_logs/get_rule_execution_events/get_rule_execution_events_route.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/api/rule_execution_logs/get_rule_execution_events/get_rule_execution_events_route.ts @@ -54,8 +54,11 @@ export const getRuleExecutionEventsRoute = (router: SecuritySolutionPluginRouter const executionLog = ctx.securitySolution.getRuleExecutionLog(); const executionEventsResponse = await executionLog.getExecutionEvents({ ruleId: params.ruleId, + searchTerm: query.search_term, eventTypes: query.event_types, logLevels: query.log_levels, + dateStart: query.date_start, + dateEnd: query.date_end, sortOrder: query.sort_order, page: query.page, perPage: query.per_page, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/event_log/event_log_fields.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/event_log/event_log_fields.ts index 4e66e93f54507..06e631dece638 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/event_log/event_log_fields.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/event_log/event_log_fields.ts @@ -10,6 +10,7 @@ export const TIMESTAMP = `@timestamp` as const; +export const MESSAGE = 'message' as const; export const EVENT_PROVIDER = 'event.provider' as const; export const EVENT_ACTION = 'event.action' as const; export const EVENT_SEQUENCE = 'event.sequence' as const; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/client_for_routes/client_interface.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/client_for_routes/client_interface.ts index 436ddd91bd595..6f3c867ee3ed4 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/client_for_routes/client_interface.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/client_for_routes/client_interface.ts @@ -39,11 +39,20 @@ export interface GetExecutionEventsArgs { /** Saved object id of the rule (`rule.id`). */ ruleId: RuleObjectId; - /** Include events of the specified types. If empty, all types of events will be included. */ - eventTypes: RuleExecutionEventType[]; + /** Include events of matching the search term. If omitted, all events will be included. */ + searchTerm?: string; - /** Include events having these log levels. If empty, events of all levels will be included. */ - logLevels: LogLevel[]; + /** Include events of the specified types. If omitted, all types of events will be included. */ + eventTypes?: RuleExecutionEventType[]; + + /** Include events having these log levels. If omitted, events of all levels will be included. */ + logLevels?: LogLevel[]; + + /** Include events recorded starting from the specified moment. If omitted, all events will be included. */ + dateStart?: string; + + /** Include events recorded till the specified moment. If omitted, all events will be included. */ + dateEnd?: string; /** What order to sort by (e.g. `asc` or `desc`). */ sortOrder: SortOrder; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/event_log/event_log_reader.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/event_log/event_log_reader.ts index 03871248ff5be..fae8b6cfe9f5c 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/event_log/event_log_reader.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_monitoring/logic/rule_execution_log/event_log/event_log_reader.ts @@ -9,6 +9,7 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import type { IEventLogClient, IValidatedEvent } from '@kbn/event-log-plugin/server'; import { MAX_EXECUTION_EVENTS_DISPLAYED } from '@kbn/securitysolution-rules'; +import { prepareKQLStringParam } from '../../../../../../../common/utils/kql'; import type { GetRuleExecutionEventsResponse, GetRuleExecutionResultsResponse, @@ -53,20 +54,30 @@ export const createEventLogReader = (eventLog: IEventLogClient): IEventLogReader async getExecutionEvents( args: GetExecutionEventsArgs ): Promise<GetRuleExecutionEventsResponse> { - const { ruleId, eventTypes, logLevels, sortOrder, page, perPage } = args; + const { + ruleId, + searchTerm, + eventTypes, + logLevels, + dateStart, + dateEnd, + sortOrder, + page, + perPage, + } = args; const soType = RULE_SAVED_OBJECT_TYPE; const soIds = [ruleId]; - // TODO: include Framework events - const kqlFilter = kqlAnd([ - `${f.EVENT_PROVIDER}:${RULE_EXECUTION_LOG_PROVIDER}`, - eventTypes.length > 0 ? `${f.EVENT_ACTION}:(${kqlOr(eventTypes)})` : '', - logLevels.length > 0 ? `${f.LOG_LEVEL}:(${kqlOr(logLevels)})` : '', - ]); - const findResult = await withSecuritySpan('findEventsBySavedObjectIds', () => { return eventLog.findEventsBySavedObjectIds(soType, soIds, { - filter: kqlFilter, + // TODO: include Framework events + filter: buildEventLogKqlFilter({ + searchTerm, + eventTypes, + logLevels, + dateStart, + dateEnd, + }), sort: [ { sort_field: f.TIMESTAMP, sort_order: sortOrder }, { sort_field: f.EVENT_SEQUENCE, sort_order: sortOrder }, @@ -173,9 +184,10 @@ const normalizeEvent = (rawEvent: IValidatedEvent): RuleExecutionEvent => { const sequence = normalizeEventSequence(rawEvent); const level = normalizeLogLevel(rawEvent); const type = normalizeEventType(rawEvent); + const executionId = normalizeExecutionId(rawEvent); const message = normalizeEventMessage(rawEvent, type); - return { timestamp, sequence, level, type, message }; + return { timestamp, sequence, level, type, message, execution_id: executionId }; }; type RawEvent = NonNullable<IValidatedEvent>; @@ -230,9 +242,64 @@ const normalizeEventMessage = (event: RawEvent, type: RuleExecutionEventType): s } if (type === RuleExecutionEventType['execution-metrics']) { - return ''; + invariant( + event.kibana?.alert?.rule?.execution?.metrics, + 'Required "kibana.alert.rule.execution.metrics" field is not found' + ); + + return JSON.stringify(event.kibana.alert.rule.execution.metrics); } assertUnreachable(type); return ''; }; + +const normalizeExecutionId = (event: RawEvent): string => { + invariant( + event.kibana?.alert?.rule?.execution?.uuid, + 'Required "kibana.alert.rule.execution.uuid" field is not found' + ); + + return event.kibana.alert.rule.execution.uuid; +}; + +const buildEventLogKqlFilter = ({ + searchTerm, + eventTypes, + logLevels, + dateStart, + dateEnd, +}: Pick< + GetExecutionEventsArgs, + 'searchTerm' | 'eventTypes' | 'logLevels' | 'dateStart' | 'dateEnd' +>) => { + const filters = [`${f.EVENT_PROVIDER}:${RULE_EXECUTION_LOG_PROVIDER}`]; + + if (searchTerm?.length) { + filters.push(`${f.MESSAGE}:${prepareKQLStringParam(searchTerm)}`); + } + + if (eventTypes?.length) { + filters.push(`${f.EVENT_ACTION}:(${kqlOr(eventTypes)})`); + } + + if (logLevels?.length) { + filters.push(`${f.LOG_LEVEL}:(${kqlOr(logLevels)})`); + } + + const dateRangeFilter: string[] = []; + + if (dateStart) { + dateRangeFilter.push(`${f.TIMESTAMP} >= ${prepareKQLStringParam(dateStart)}`); + } + + if (dateEnd) { + dateRangeFilter.push(`${f.TIMESTAMP} <= ${prepareKQLStringParam(dateEnd)}`); + } + + if (dateRangeFilter.length) { + filters.push(kqlAnd(dateRangeFilter)); + } + + return kqlAnd(filters); +}; 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 8480b1de57b0e..c3fb701458238 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 @@ -175,8 +175,7 @@ export const createSecurityRuleTypeWrapper: CreateSecurityRuleTypeWrapper = const refresh = actions.length ? 'wait_for' : false; - ruleExecutionLogger.debug('[+] Starting Signal Rule execution'); - ruleExecutionLogger.debug(`interval: ${interval}`); + ruleExecutionLogger.debug(`Starting Security Rule execution (interval: ${interval})`); await ruleExecutionLogger.logStatusChange({ newStatus: RuleExecutionStatus.running, @@ -455,11 +454,15 @@ export const createSecurityRuleTypeWrapper: CreateSecurityRuleTypeWrapper = const createdSignalsCount = result.createdSignals.length; if (result.success) { - ruleExecutionLogger.debug('[+] Signal Rule execution completed.'); + ruleExecutionLogger.debug('Security Rule execution completed'); ruleExecutionLogger.debug( - `[+] Finished indexing ${createdSignalsCount} signals into ${ruleDataClient.indexNameWithNamespace( + `Finished indexing ${createdSignalsCount} alerts into ${ruleDataClient.indexNameWithNamespace( spaceId - )}` + )} ${ + !isEmpty(tuples) + ? `searched between date ranges ${JSON.stringify(tuples, null, 2)}` + : '' + }` ); if (!hasError && !wroteWarningStatus && !result.warning) { @@ -473,18 +476,10 @@ export const createSecurityRuleTypeWrapper: CreateSecurityRuleTypeWrapper = }, }); } - - ruleExecutionLogger.debug( - `[+] Finished indexing ${createdSignalsCount} ${ - !isEmpty(tuples) - ? `signals searched between date ranges ${JSON.stringify(tuples, null, 2)}` - : '' - }` - ); } else { await ruleExecutionLogger.logStatusChange({ newStatus: RuleExecutionStatus.failed, - message: `Bulk Indexing of signals failed: ${truncateList(result.errors).join()}`, + message: `Bulk Indexing of alerts failed: ${truncateList(result.errors).join()}`, metrics: { searchDurations: result.searchAfterTimes, indexingDurations: result.bulkCreateTimes, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/bulk_create_factory.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/bulk_create_factory.ts index a1d19931032f5..603ff74cf2704 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/bulk_create_factory.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/factories/bulk_create_factory.ts @@ -69,7 +69,7 @@ export const bulkCreateFactory = const enrichedAlerts = await enrichAlerts(alerts, params, experimentalFeatures); return enrichedAlerts; } catch (error) { - ruleExecutionLogger.error(`Enrichments failed ${error}`); + ruleExecutionLogger.error(`Alerts enrichment failed: ${error}`); throw error; } finally { enrichmentsTimeFinish = performance.now(); @@ -90,13 +90,11 @@ export const bulkCreateFactory = const end = performance.now(); - ruleExecutionLogger.debug( - `individual bulk process time took: ${makeFloatString(end - start)} milliseconds` - ); + ruleExecutionLogger.debug(`Alerts bulk process took ${makeFloatString(end - start)} ms`); if (!isEmpty(errors)) { - ruleExecutionLogger.debug( - `[-] bulkResponse had errors with responses of: ${JSON.stringify(errors)}` + ruleExecutionLogger.warn( + `Alerts bulk process finished with errors: ${JSON.stringify(errors)}` ); return { errors: Object.keys(errors), diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/alert_suppression/bulk_create_with_suppression.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/alert_suppression/bulk_create_with_suppression.ts index 110f9848c6d83..231387f9c004a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/alert_suppression/bulk_create_with_suppression.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/alert_suppression/bulk_create_with_suppression.ts @@ -74,7 +74,7 @@ export const bulkCreateWithSuppression = async < const enrichedAlerts = await enrichAlerts(alerts, params); return enrichedAlerts; } catch (error) { - ruleExecutionLogger.error(`Enrichments failed ${error}`); + ruleExecutionLogger.error(`Alerts enrichment failed: ${error}`); throw error; } finally { enrichmentsTimeFinish = performance.now(); @@ -94,14 +94,10 @@ export const bulkCreateWithSuppression = async < const end = performance.now(); - ruleExecutionLogger.debug( - `individual bulk process time took: ${makeFloatString(end - start)} milliseconds` - ); + ruleExecutionLogger.debug(`Alerts bulk process took ${makeFloatString(end - start)} ms`); if (!isEmpty(errors)) { - ruleExecutionLogger.debug( - `[-] bulkResponse had errors with responses of: ${JSON.stringify(errors)}` - ); + ruleExecutionLogger.warn(`Alerts bulk process finished with errors: ${JSON.stringify(errors)}`); return { errors: Object.keys(errors), success: false, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/enrichments/create_single_field_match_enrichment.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/enrichments/create_single_field_match_enrichment.ts index 5971c7685a443..982de01b8bae7 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/enrichments/create_single_field_match_enrichment.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/enrichments/create_single_field_match_enrichment.ts @@ -89,7 +89,7 @@ export const createSingleFieldMatchEnrichment: CreateFieldsMatchEnrichment = asy ); return eventsMapById; } catch (error) { - logger.error(`Enrichment ${name}: throw error ${error}`); + logger.error(`Enrichment ${name} failed: ${error}`); return {}; } }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/large_list_filters/filter_events_against_list.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/large_list_filters/filter_events_against_list.test.ts index a50b33a0eee34..d5c566383ebba 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/large_list_filters/filter_events_against_list.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/large_list_filters/filter_events_against_list.test.ts @@ -62,7 +62,7 @@ describe('filterEventsAgainstList', () => { expect(included.length).toEqual(4); expect(excluded.length).toEqual(0); expect(ruleExecutionLogger.debug.mock.calls[0][0]).toContain( - 'no exception items of type list found - returning original search result' + 'No exception items of type list found - return unfiltered events' ); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/large_list_filters/filter_events_against_list.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/large_list_filters/filter_events_against_list.ts index 1093742d76d6e..8a8f7d34aa3a8 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/large_list_filters/filter_events_against_list.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/large_list_filters/filter_events_against_list.ts @@ -47,9 +47,7 @@ export const filterEventsAgainstList = async <T>({ ); if (!atLeastOneLargeValueList) { - ruleExecutionLogger.debug( - 'no exception items of type list found - returning original search result' - ); + ruleExecutionLogger.debug('No exception items of type list found - return unfiltered events'); return [events, []]; } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/search_after_bulk_create.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/search_after_bulk_create.ts index c64bb1cc463a2..8e084bd8e35dc 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/search_after_bulk_create.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/search_after_bulk_create.ts @@ -49,13 +49,18 @@ export const searchAfterAndBulkCreate = async ({ }: SearchAfterAndBulkCreateParams): Promise<SearchAfterAndBulkCreateReturnType> => { return withSecuritySpan('searchAfterAndBulkCreate', async () => { let toReturn = createSearchAfterReturnType(); + let searchingIteration = 0; // sortId tells us where to start our next consecutive search_after query let sortIds: estypes.SortResults | undefined; let hasSortId = true; // default to true so we execute the search on initial run if (tuple == null || tuple.to == null || tuple.from == null) { - ruleExecutionLogger.error(`[-] malformed date tuple`); + ruleExecutionLogger.error( + `missing run options fields: ${!tuple.to ? '"tuple.to"' : ''}, ${ + !tuple.from ? '"tuple.from"' : '' + }` + ); return createSearchAfterReturnType({ success: false, errors: ['malformed date tuple'], @@ -63,9 +68,14 @@ export const searchAfterAndBulkCreate = async ({ } while (toReturn.createdSignalsCount <= tuple.maxSignals) { + const cycleNum = `cycle ${searchingIteration++}`; try { let mergedSearchResults = createSearchResultReturnType(); - ruleExecutionLogger.debug(`sortIds: ${sortIds}`); + ruleExecutionLogger.debug( + `[${cycleNum}] Searching events${ + sortIds ? ` after cursor ${JSON.stringify(sortIds)}` : '' + } in index pattern "${inputIndexPattern}"` + ); if (hasSortId) { const { searchResult, searchDuration, searchErrors } = await singleSearchAfter({ @@ -97,9 +107,29 @@ export const searchAfterAndBulkCreate = async ({ }), ]); + // determine if there are any candidate signals to be processed + const totalHits = getTotalHitsValue(mergedSearchResults.hits.total); const lastSortIds = getSafeSortIds( searchResult.hits.hits[searchResult.hits.hits.length - 1]?.sort ); + + if (totalHits === 0 || mergedSearchResults.hits.hits.length === 0) { + ruleExecutionLogger.debug( + `[${cycleNum}] Found 0 events ${ + sortIds ? ` after cursor ${JSON.stringify(sortIds)}` : '' + }` + ); + break; + } else { + ruleExecutionLogger.debug( + `[${cycleNum}] Found ${ + mergedSearchResults.hits.hits.length + } of total ${totalHits} events${ + sortIds ? ` after cursor ${JSON.stringify(sortIds)}` : '' + }, last cursor ${JSON.stringify(lastSortIds)}` + ); + } + if (lastSortIds != null && lastSortIds.length !== 0) { sortIds = lastSortIds; hasSortId = true; @@ -108,22 +138,6 @@ export const searchAfterAndBulkCreate = async ({ } } - // determine if there are any candidate signals to be processed - const totalHits = getTotalHitsValue(mergedSearchResults.hits.total); - ruleExecutionLogger.debug(`totalHits: ${totalHits}`); - ruleExecutionLogger.debug( - `searchResult.hit.hits.length: ${mergedSearchResults.hits.hits.length}` - ); - - if (totalHits === 0 || mergedSearchResults.hits.hits.length === 0) { - ruleExecutionLogger.debug( - `${ - totalHits === 0 ? 'totalHits' : 'searchResult.hits.hits.length' - } was 0, exiting early` - ); - break; - } - // filter out the search results that match with the values found in the list. // the resulting set are signals to be indexed, given they are not duplicates // of signals already present in the signals index. @@ -158,9 +172,9 @@ export const searchAfterAndBulkCreate = async ({ addToSearchAfterReturn({ current: toReturn, next: bulkCreateResult }); - ruleExecutionLogger.debug(`created ${bulkCreateResult.createdItemsCount} signals`); - ruleExecutionLogger.debug(`signalsCreatedCount: ${toReturn.createdSignalsCount}`); - ruleExecutionLogger.debug(`enrichedEvents.hits.hits: ${enrichedEvents.length}`); + ruleExecutionLogger.debug( + `[${cycleNum}] Created ${bulkCreateResult.createdItemsCount} alerts from ${enrichedEvents.length} events` + ); sendAlertTelemetryEvents( enrichedEvents, @@ -171,11 +185,14 @@ export const searchAfterAndBulkCreate = async ({ } if (!hasSortId) { - ruleExecutionLogger.debug('ran out of sort ids to sort on'); + ruleExecutionLogger.debug(`[${cycleNum}] Unable to fetch last event cursor`); break; } } catch (exc: unknown) { - ruleExecutionLogger.error(`[-] search_after_bulk_create threw an error ${exc}`); + ruleExecutionLogger.error( + 'Unable to extract/process events or create alerts', + JSON.stringify(exc) + ); return mergeReturns([ toReturn, createSearchAfterReturnType({ @@ -185,7 +202,7 @@ export const searchAfterAndBulkCreate = async ({ ]); } } - ruleExecutionLogger.debug(`[+] completed bulk index of ${toReturn.createdSignalsCount}`); + ruleExecutionLogger.debug(`Completed bulk indexing of ${toReturn.createdSignalsCount} alert`); return toReturn; }); }; diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/send_telemetry_events.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/send_telemetry_events.ts index a4687fa953dfe..713428ca08557 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/send_telemetry_events.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/send_telemetry_events.ts @@ -72,6 +72,6 @@ export function sendAlertTelemetryEvents( try { eventsTelemetry.queueTelemetryEvents(selectedEvents); } catch (exc) { - ruleExecutionLogger.error(`[-] queing telemetry events failed ${exc}`); + ruleExecutionLogger.error(`Queuing telemetry events failed: ${exc}`); } } diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/single_search_after.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/single_search_after.ts index ba91454b3aa02..c10403848474f 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/single_search_after.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/single_search_after.ts @@ -104,14 +104,12 @@ export const singleSearchAfter = async < searchErrors, }; } catch (exc) { - ruleExecutionLogger.error(`[-] nextSearchAfter threw an error ${exc}`); + ruleExecutionLogger.error(`Searching events operation failed: ${exc}`); if ( exc.message.includes(`No mapping found for [${primaryTimestamp}] in order to sort on`) || (secondaryTimestamp && exc.message.includes(`No mapping found for [${secondaryTimestamp}] in order to sort on`)) ) { - ruleExecutionLogger.error(`[-] failure reason: ${exc.message}`); - const searchRes: SignalSearchResponse<TAggregations> = { took: 0, timed_out: false, diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/utils.test.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/utils.test.ts index d507977de11c8..0a18cd40b3a61 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/utils.test.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/utils.test.ts @@ -734,7 +734,7 @@ describe('utils', () => { expect(ruleExecutionLogger.logStatusChange).toHaveBeenCalledWith({ newStatus: RuleExecutionStatus['partial failure'], message: - 'This rule is attempting to query data from Elasticsearch indices listed in the "Index pattern" section of the rule definition, however no index matching: ["logs-endpoint.alerts-*"] was found. This warning will continue to appear until a matching index is created or this rule is disabled. If you have recently enrolled agents enabled with Endpoint Security through Fleet, this warning should stop once an alert is sent from an agent.', + 'This rule is attempting to query data from Elasticsearch indices listed in the "Index patterns" section of the rule definition, however no index matching: ["logs-endpoint.alerts-*"] was found. This warning will continue to appear until a matching index is created or this rule is disabled. If you have recently enrolled agents enabled with Endpoint Security through Fleet, this warning should stop once an alert is sent from an agent.', }); }); @@ -768,7 +768,7 @@ describe('utils', () => { expect(ruleExecutionLogger.logStatusChange).toHaveBeenCalledWith({ newStatus: RuleExecutionStatus['partial failure'], message: - 'This rule is attempting to query data from Elasticsearch indices listed in the "Index pattern" section of the rule definition, however no index matching: ["logs-endpoint.alerts-*"] was found. This warning will continue to appear until a matching index is created or this rule is disabled.', + 'This rule is attempting to query data from Elasticsearch indices listed in the "Index patterns" section of the rule definition, however no index matching: ["logs-endpoint.alerts-*"] was found. This warning will continue to appear until a matching index is created or this rule is disabled.', }); }); }); diff --git a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/utils.ts b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/utils.ts index 17d3e0a4876f3..be19c354cbe1a 100644 --- a/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/utils.ts +++ b/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/utils.ts @@ -91,7 +91,7 @@ export const hasReadIndexPrivileges = async (args: { const indexesString = JSON.stringify(indexesWithNoReadPrivileges); await ruleExecutionLogger.logStatusChange({ newStatus: RuleExecutionStatus['partial failure'], - message: `This rule may not have the required read privileges to the following indices/index patterns: ${indexesString}`, + message: `This rule may not have the required read privileges to the following index patterns: ${indexesString}`, }); return true; } @@ -112,7 +112,7 @@ export const hasTimestampFields = async (args: { const { ruleName } = ruleExecutionLogger.context; if (isEmpty(timestampFieldCapsResponse.body.indices)) { - const errorString = `This rule is attempting to query data from Elasticsearch indices listed in the "Index pattern" section of the rule definition, however no index matching: ${JSON.stringify( + const errorString = `This rule is attempting to query data from Elasticsearch indices listed in the "Index patterns" section of the rule definition, however no index matching: ${JSON.stringify( inputIndices )} was found. This warning will continue to appear until a matching index is created or this rule is disabled. ${ ruleName === 'Endpoint Security' @@ -432,7 +432,9 @@ export const getRuleRangeTuples = ({ const intervalDuration = parseInterval(interval); if (intervalDuration == null) { ruleExecutionLogger.error( - 'Failed to compute gap between rule runs: could not parse rule interval' + `Failed to compute gap between rule runs: could not parse rule interval "${JSON.stringify( + interval + )}"` ); return { tuples, remainingGap: moment.duration(0) }; } diff --git a/x-pack/plugins/security_solution/server/lib/risk_engine/utils/create_index.ts b/x-pack/plugins/security_solution/server/lib/risk_engine/utils/create_index.ts index b7fa301869951..b1aefedc90cef 100644 --- a/x-pack/plugins/security_solution/server/lib/risk_engine/utils/create_index.ts +++ b/x-pack/plugins/security_solution/server/lib/risk_engine/utils/create_index.ts @@ -25,7 +25,7 @@ export const createIndex = async ({ index: options.index, }); if (isIndexExist) { - logger.info('${options.index} already exist'); + logger.info(`${options.index} already exist`); return; } diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/group1/check_privileges.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/group1/check_privileges.ts index 5fb1f0d87a585..3a016fe68618d 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/group1/check_privileges.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/group1/check_privileges.ts @@ -82,7 +82,7 @@ export default ({ getService }: FtrProviderContext) => { // TODO: https://github.com/elastic/kibana/pull/121644 clean up, make type-safe expect(body?.execution_summary?.last_execution.message).to.eql( - `This rule may not have the required read privileges to the following indices/index patterns: ["${index[0]}"]` + `This rule may not have the required read privileges to the following index patterns: ["${index[0]}"]` ); await deleteUserAndRole(getService, ROLES.detections_admin); @@ -121,7 +121,7 @@ export default ({ getService }: FtrProviderContext) => { // TODO: https://github.com/elastic/kibana/pull/121644 clean up, make type-safe expect(body?.execution_summary?.last_execution.message).to.eql( - `This rule may not have the required read privileges to the following indices/index patterns: ["${index[0]}"]` + `This rule may not have the required read privileges to the following index patterns: ["${index[0]}"]` ); await deleteUserAndRole(getService, ROLES.detections_admin); diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/group1/create_rules.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/group1/create_rules.ts index d8fc2ec1439be..7df1ae742640f 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/group1/create_rules.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/group1/create_rules.ts @@ -165,7 +165,7 @@ export default ({ getService }: FtrProviderContext) => { // TODO: https://github.com/elastic/kibana/pull/121644 clean up, make type-safe expect(rule?.execution_summary?.last_execution.status).to.eql('partial failure'); expect(rule?.execution_summary?.last_execution.message).to.eql( - 'This rule is attempting to query data from Elasticsearch indices listed in the "Index pattern" section of the rule definition, however no index matching: ["does-not-exist-*"] was found. This warning will continue to appear until a matching index is created or this rule is disabled.' + 'This rule is attempting to query data from Elasticsearch indices listed in the "Index patterns" section of the rule definition, however no index matching: ["does-not-exist-*"] was found. This warning will continue to appear until a matching index is created or this rule is disabled.' ); }); diff --git a/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/get_rule_execution_results.ts b/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/get_rule_execution_results.ts index b7cca9fd005df..acb8043ab3a25 100644 --- a/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/get_rule_execution_results.ts +++ b/x-pack/test/detection_engine_api_integration/security_and_spaces/group10/get_rule_execution_results.ts @@ -126,7 +126,7 @@ export default ({ getService }: FtrProviderContext) => { expect(response.body.events[0].security_status).to.eql('partial failure'); expect( response.body.events[0].security_message.startsWith( - 'This rule is attempting to query data from Elasticsearch indices listed in the "Index pattern" section of the rule definition, however no index matching: ["no-name-index"] was found.' + 'This rule is attempting to query data from Elasticsearch indices listed in the "Index patterns" section of the rule definition, however no index matching: ["no-name-index"] was found.' ) ).to.eql(true); }); From 29df2bd6e3c7dd222c589ebbbc395bccad7d524c Mon Sep 17 00:00:00 2001 From: Davis McPhee <davis.mcphee@elastic.co> Date: Mon, 18 Sep 2023 22:40:43 -0300 Subject: [PATCH 109/149] [Discover] Unskip Discover customizations Serverless tests (#166407) ## Summary This PR unskips the Discover customizations Serverless tests. I ran 100x flaky test runs against each project type to confirm they should no longer be flaky. Flaky test runs: - x100 (`.only`): https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3111 - x100 Search: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3118 - x100 O11y: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3144 - x100 Security: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3153 Resolves #165396. Resolves #165438. ### Checklist - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- .../discover_customization_examples/customizations.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/x-pack/test_serverless/functional/test_suites/common/examples/discover_customization_examples/customizations.ts b/x-pack/test_serverless/functional/test_suites/common/examples/discover_customization_examples/customizations.ts index cb0c5cc9c36ba..d653c6f8505ba 100644 --- a/x-pack/test_serverless/functional/test_suites/common/examples/discover_customization_examples/customizations.ts +++ b/x-pack/test_serverless/functional/test_suites/common/examples/discover_customization_examples/customizations.ts @@ -12,7 +12,7 @@ const TEST_START_TIME = 'Sep 19, 2015 @ 06:31:44.000'; const TEST_END_TIME = 'Sep 23, 2015 @ 18:31:44.000'; export default ({ getService, getPageObjects }: FtrProviderContext) => { - const PageObjects = getPageObjects(['common', 'timePicker', 'header']); + const PageObjects = getPageObjects(['common', 'timePicker', 'header', 'svlCommonPage']); const esArchiver = getService('esArchiver'); const kibanaServer = getService('kibanaServer'); const testSubjects = getService('testSubjects'); @@ -20,10 +20,10 @@ export default ({ getService, getPageObjects }: FtrProviderContext) => { const dataGrid = getService('dataGrid'); const defaultSettings = { defaultIndex: 'logstash-*' }; - // Flaky in serverless tests (before hook) - // Failing: See https://github.com/elastic/kibana/issues/165396 - describe.skip('Customizations', () => { + describe('Customizations', () => { before(async () => { + // TODO: Serverless tests require login first + await PageObjects.svlCommonPage.login(); await kibanaServer.savedObjects.cleanStandardList(); await esArchiver.loadIfNeeded('x-pack/test/functional/es_archives/logstash_functional'); await kibanaServer.importExport.load('test/functional/fixtures/kbn_archiver/discover'); From 447a56a70a0b249ba405f12cc03253c13453693d Mon Sep 17 00:00:00 2001 From: Davis McPhee <davis.mcphee@elastic.co> Date: Tue, 19 Sep 2023 00:08:43 -0300 Subject: [PATCH 110/149] [Data Views] Unskip data view field editor Serverless tests (#166408) ## Summary This PR unskips the data view field editor Serverless tests. I ran 100x flaky test runs against each project type to confirm they should no longer be flaky. Flaky test runs: - x100 (`.only`): https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3112 - x100 Search: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3119 - x100 O11y: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3145 - x100 Security: https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/3154 Resolves #165384. ### Checklist - [ ] Any text added follows [EUI's writing guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses sentence case text and includes [i18n support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md) - [ ] [Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html) was added for features that require explanation or tutorials - [ ] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios - [ ] Any UI touched in this PR is usable by keyboard only (learn more about [keyboard accessibility](https://webaim.org/techniques/keyboard/)) - [ ] Any UI touched in this PR does not create any new axe failures (run axe in browser: [FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/), [Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US)) - [ ] If a plugin configuration key changed, check if it needs to be allowlisted in the cloud and added to the [docker list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker) - [ ] This renders correctly on smaller devices using a responsive layout. (You can test this [in your browser](https://www.browserstack.com/guide/responsive-testing-on-local-server)) - [ ] This was checked for [cross-browser compatibility](https://www.elastic.co/support/matrix#matrix_browsers) ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) --- .../data_view_field_editor_example/index.ts | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/x-pack/test_serverless/functional/test_suites/common/examples/data_view_field_editor_example/index.ts b/x-pack/test_serverless/functional/test_suites/common/examples/data_view_field_editor_example/index.ts index a840abb55f3a7..106f504cae82b 100644 --- a/x-pack/test_serverless/functional/test_suites/common/examples/data_view_field_editor_example/index.ts +++ b/x-pack/test_serverless/functional/test_suites/common/examples/data_view_field_editor_example/index.ts @@ -11,25 +11,36 @@ import type { FtrProviderContext } from '../../../../ftr_provider_context'; export default function ({ getService, getPageObjects, loadTestFile }: FtrProviderContext) { const browser = getService('browser'); const es = getService('es'); - const PageObjects = getPageObjects(['common', 'header', 'settings', 'svlCommonNavigation']); + const PageObjects = getPageObjects([ + 'common', + 'header', + 'settings', + 'svlCommonNavigation', + 'svlCommonPage', + ]); const testSubjects = getService('testSubjects'); const find = getService('find'); const retry = getService('retry'); const kibanaServer = getService('kibanaServer'); - // FLAKY: https://github.com/elastic/kibana/issues/165384 - describe.skip('data view field editor example', function () { + describe('data view field editor example', function () { before(async () => { + // TODO: Serverless tests require login first + await PageObjects.svlCommonPage.login(); // TODO: emptyKibanaIndex fails in Serverless with // "index_not_found_exception: no such index [.kibana_ingest]", // so it was switched to `savedObjects.cleanStandardList()` await kibanaServer.savedObjects.cleanStandardList(); await browser.setWindowSize(1300, 900); - await es.transport.request({ - path: '/blogs/_doc', - method: 'POST', - body: { user: 'matt', message: 20 }, - }); + await es.transport.request( + { + path: '/blogs/_doc', + method: 'POST', + body: { user: 'matt', message: 20 }, + }, + // TODO: Extend timeout in Serverless + { requestTimeout: '1m' } + ); // TODO: Navigation to Data View Management is different in Serverless await PageObjects.common.navigateToApp('management'); From ac4f97a195d1e40887d86571e9ce9528733cf1dd Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Tue, 19 Sep 2023 01:07:59 -0400 Subject: [PATCH 111/149] [api-docs] 2023-09-19 Daily api_docs build (#166678) Generated by https://buildkite.com/elastic/kibana-api-docs-daily/builds/465 --- api_docs/actions.mdx | 2 +- api_docs/advanced_settings.mdx | 2 +- api_docs/aiops.mdx | 2 +- api_docs/alerting.devdocs.json | 415 +------------- api_docs/alerting.mdx | 4 +- api_docs/apm.mdx | 2 +- api_docs/apm_data_access.mdx | 2 +- api_docs/asset_manager.mdx | 2 +- api_docs/banners.mdx | 2 +- api_docs/bfetch.mdx | 2 +- api_docs/canvas.mdx | 2 +- api_docs/cases.mdx | 2 +- api_docs/charts.mdx | 2 +- api_docs/cloud.mdx | 2 +- api_docs/cloud_chat.mdx | 2 +- api_docs/cloud_chat_provider.mdx | 2 +- api_docs/cloud_data_migration.mdx | 2 +- api_docs/cloud_defend.mdx | 2 +- api_docs/cloud_experiments.mdx | 2 +- api_docs/cloud_security_posture.mdx | 2 +- api_docs/console.mdx | 2 +- api_docs/content_management.mdx | 2 +- api_docs/controls.mdx | 2 +- api_docs/custom_integrations.mdx | 2 +- api_docs/dashboard.mdx | 2 +- api_docs/dashboard_enhanced.mdx | 2 +- api_docs/data.devdocs.json | 32 +- api_docs/data.mdx | 2 +- api_docs/data_query.mdx | 2 +- api_docs/data_search.devdocs.json | 24 +- api_docs/data_search.mdx | 2 +- api_docs/data_view_editor.mdx | 2 +- api_docs/data_view_field_editor.mdx | 2 +- api_docs/data_view_management.mdx | 2 +- api_docs/data_views.devdocs.json | 48 +- api_docs/data_views.mdx | 2 +- api_docs/data_visualizer.mdx | 2 +- api_docs/deprecations_by_api.mdx | 2 +- api_docs/deprecations_by_plugin.mdx | 16 +- api_docs/deprecations_by_team.mdx | 2 +- api_docs/dev_tools.mdx | 2 +- api_docs/discover.mdx | 2 +- api_docs/discover_enhanced.mdx | 2 +- api_docs/ecs_data_quality_dashboard.mdx | 2 +- api_docs/elastic_assistant.mdx | 2 +- api_docs/embeddable.mdx | 2 +- api_docs/embeddable_enhanced.mdx | 2 +- api_docs/encrypted_saved_objects.mdx | 2 +- api_docs/enterprise_search.mdx | 2 +- api_docs/es_ui_shared.mdx | 2 +- api_docs/event_annotation.devdocs.json | 116 ++++ api_docs/event_annotation.mdx | 4 +- api_docs/event_log.mdx | 2 +- api_docs/exploratory_view.mdx | 2 +- api_docs/expression_error.mdx | 2 +- api_docs/expression_gauge.mdx | 2 +- api_docs/expression_heatmap.mdx | 2 +- api_docs/expression_image.mdx | 2 +- api_docs/expression_legacy_metric_vis.mdx | 2 +- api_docs/expression_metric.mdx | 2 +- api_docs/expression_metric_vis.mdx | 2 +- api_docs/expression_partition_vis.mdx | 2 +- api_docs/expression_repeat_image.mdx | 2 +- api_docs/expression_reveal_image.mdx | 2 +- api_docs/expression_shape.mdx | 2 +- api_docs/expression_tagcloud.mdx | 2 +- api_docs/expression_x_y.mdx | 2 +- api_docs/expressions.mdx | 2 +- api_docs/features.mdx | 2 +- api_docs/field_formats.mdx | 2 +- api_docs/file_upload.mdx | 2 +- api_docs/files.mdx | 2 +- api_docs/files_management.mdx | 2 +- api_docs/fleet.mdx | 2 +- api_docs/global_search.mdx | 2 +- api_docs/guided_onboarding.mdx | 2 +- api_docs/home.mdx | 2 +- api_docs/image_embeddable.mdx | 2 +- api_docs/index_lifecycle_management.mdx | 2 +- api_docs/index_management.devdocs.json | 200 ++----- api_docs/index_management.mdx | 4 +- api_docs/infra.mdx | 2 +- api_docs/inspector.mdx | 2 +- api_docs/interactive_setup.mdx | 2 +- api_docs/kbn_ace.mdx | 2 +- api_docs/kbn_aiops_components.mdx | 2 +- api_docs/kbn_aiops_utils.mdx | 2 +- .../kbn_alerting_api_integration_helpers.mdx | 2 +- api_docs/kbn_alerting_state_types.mdx | 2 +- api_docs/kbn_alerts_as_data_utils.mdx | 2 +- api_docs/kbn_alerts_ui_shared.mdx | 2 +- api_docs/kbn_analytics.mdx | 2 +- api_docs/kbn_analytics_client.devdocs.json | 12 + api_docs/kbn_analytics_client.mdx | 2 +- ..._analytics_shippers_elastic_v3_browser.mdx | 2 +- ...n_analytics_shippers_elastic_v3_common.mdx | 2 +- ...n_analytics_shippers_elastic_v3_server.mdx | 2 +- api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +- api_docs/kbn_analytics_shippers_gainsight.mdx | 2 +- api_docs/kbn_apm_config_loader.mdx | 2 +- api_docs/kbn_apm_synthtrace.mdx | 2 +- api_docs/kbn_apm_synthtrace_client.mdx | 2 +- api_docs/kbn_apm_utils.mdx | 2 +- api_docs/kbn_axe_config.mdx | 2 +- api_docs/kbn_cases_components.mdx | 2 +- api_docs/kbn_cell_actions.mdx | 2 +- api_docs/kbn_chart_expressions_common.mdx | 2 +- api_docs/kbn_chart_icons.mdx | 2 +- api_docs/kbn_ci_stats_core.mdx | 2 +- api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +- api_docs/kbn_ci_stats_reporter.mdx | 2 +- api_docs/kbn_cli_dev_mode.mdx | 2 +- api_docs/kbn_code_editor.mdx | 2 +- api_docs/kbn_code_editor_mocks.mdx | 2 +- api_docs/kbn_coloring.mdx | 2 +- api_docs/kbn_config.mdx | 2 +- api_docs/kbn_config_mocks.mdx | 2 +- api_docs/kbn_config_schema.mdx | 2 +- .../kbn_content_management_content_editor.mdx | 2 +- ...tent_management_tabbed_table_list_view.mdx | 2 +- ...kbn_content_management_table_list_view.mdx | 2 +- ...ntent_management_table_list_view_table.mdx | 2 +- api_docs/kbn_content_management_utils.mdx | 2 +- api_docs/kbn_core_analytics_browser.mdx | 2 +- .../kbn_core_analytics_browser_internal.mdx | 2 +- api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +- api_docs/kbn_core_analytics_server.mdx | 2 +- .../kbn_core_analytics_server_internal.mdx | 2 +- api_docs/kbn_core_analytics_server_mocks.mdx | 2 +- api_docs/kbn_core_application_browser.mdx | 2 +- .../kbn_core_application_browser_internal.mdx | 2 +- .../kbn_core_application_browser_mocks.mdx | 2 +- api_docs/kbn_core_application_common.mdx | 2 +- api_docs/kbn_core_apps_browser_internal.mdx | 2 +- api_docs/kbn_core_apps_browser_mocks.mdx | 2 +- api_docs/kbn_core_apps_server_internal.mdx | 2 +- api_docs/kbn_core_base_browser_mocks.mdx | 2 +- api_docs/kbn_core_base_common.mdx | 2 +- api_docs/kbn_core_base_server_internal.mdx | 2 +- api_docs/kbn_core_base_server_mocks.mdx | 2 +- .../kbn_core_capabilities_browser_mocks.mdx | 2 +- api_docs/kbn_core_capabilities_common.mdx | 2 +- api_docs/kbn_core_capabilities_server.mdx | 2 +- .../kbn_core_capabilities_server_mocks.mdx | 2 +- api_docs/kbn_core_chrome_browser.mdx | 2 +- api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +- api_docs/kbn_core_config_server_internal.mdx | 2 +- api_docs/kbn_core_custom_branding_browser.mdx | 2 +- ..._core_custom_branding_browser_internal.mdx | 2 +- ...kbn_core_custom_branding_browser_mocks.mdx | 2 +- api_docs/kbn_core_custom_branding_common.mdx | 2 +- api_docs/kbn_core_custom_branding_server.mdx | 2 +- ...n_core_custom_branding_server_internal.mdx | 2 +- .../kbn_core_custom_branding_server_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_browser.mdx | 2 +- ...kbn_core_deprecations_browser_internal.mdx | 2 +- .../kbn_core_deprecations_browser_mocks.mdx | 2 +- api_docs/kbn_core_deprecations_common.mdx | 2 +- api_docs/kbn_core_deprecations_server.mdx | 2 +- .../kbn_core_deprecations_server_internal.mdx | 2 +- .../kbn_core_deprecations_server_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_browser.mdx | 2 +- api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +- api_docs/kbn_core_doc_links_server.mdx | 2 +- api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +- ...e_elasticsearch_client_server_internal.mdx | 2 +- ...core_elasticsearch_client_server_mocks.mdx | 2 +- api_docs/kbn_core_elasticsearch_server.mdx | 2 +- ...kbn_core_elasticsearch_server_internal.mdx | 2 +- .../kbn_core_elasticsearch_server_mocks.mdx | 2 +- .../kbn_core_environment_server_internal.mdx | 2 +- .../kbn_core_environment_server_mocks.mdx | 2 +- .../kbn_core_execution_context_browser.mdx | 2 +- ...ore_execution_context_browser_internal.mdx | 2 +- ...n_core_execution_context_browser_mocks.mdx | 2 +- .../kbn_core_execution_context_common.mdx | 2 +- .../kbn_core_execution_context_server.mdx | 2 +- ...core_execution_context_server_internal.mdx | 2 +- ...bn_core_execution_context_server_mocks.mdx | 2 +- api_docs/kbn_core_fatal_errors_browser.mdx | 2 +- .../kbn_core_fatal_errors_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_browser.mdx | 2 +- api_docs/kbn_core_http_browser_internal.mdx | 2 +- api_docs/kbn_core_http_browser_mocks.mdx | 2 +- api_docs/kbn_core_http_common.mdx | 2 +- .../kbn_core_http_context_server_mocks.mdx | 2 +- ...re_http_request_handler_context_server.mdx | 2 +- api_docs/kbn_core_http_resources_server.mdx | 2 +- ...bn_core_http_resources_server_internal.mdx | 2 +- .../kbn_core_http_resources_server_mocks.mdx | 2 +- .../kbn_core_http_router_server_internal.mdx | 2 +- .../kbn_core_http_router_server_mocks.mdx | 2 +- api_docs/kbn_core_http_server.devdocs.json | 62 +-- api_docs/kbn_core_http_server.mdx | 2 +- api_docs/kbn_core_http_server_internal.mdx | 2 +- api_docs/kbn_core_http_server_mocks.mdx | 2 +- api_docs/kbn_core_i18n_browser.mdx | 2 +- api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +- api_docs/kbn_core_i18n_server.mdx | 2 +- api_docs/kbn_core_i18n_server_internal.mdx | 2 +- api_docs/kbn_core_i18n_server_mocks.mdx | 2 +- ...n_core_injected_metadata_browser_mocks.mdx | 2 +- ...kbn_core_integrations_browser_internal.mdx | 2 +- .../kbn_core_integrations_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_browser.mdx | 2 +- api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +- api_docs/kbn_core_lifecycle_server.mdx | 2 +- api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +- api_docs/kbn_core_logging_browser_mocks.mdx | 2 +- api_docs/kbn_core_logging_common_internal.mdx | 2 +- api_docs/kbn_core_logging_server.mdx | 2 +- api_docs/kbn_core_logging_server_internal.mdx | 2 +- api_docs/kbn_core_logging_server_mocks.mdx | 2 +- ...ore_metrics_collectors_server_internal.mdx | 2 +- ...n_core_metrics_collectors_server_mocks.mdx | 2 +- api_docs/kbn_core_metrics_server.mdx | 2 +- api_docs/kbn_core_metrics_server_internal.mdx | 2 +- api_docs/kbn_core_metrics_server_mocks.mdx | 2 +- api_docs/kbn_core_mount_utils_browser.mdx | 2 +- api_docs/kbn_core_node_server.mdx | 2 +- api_docs/kbn_core_node_server_internal.mdx | 2 +- api_docs/kbn_core_node_server_mocks.mdx | 2 +- api_docs/kbn_core_notifications_browser.mdx | 2 +- ...bn_core_notifications_browser_internal.mdx | 2 +- .../kbn_core_notifications_browser_mocks.mdx | 2 +- api_docs/kbn_core_overlays_browser.mdx | 2 +- .../kbn_core_overlays_browser_internal.mdx | 2 +- api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_browser.mdx | 2 +- api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +- api_docs/kbn_core_plugins_server.mdx | 2 +- api_docs/kbn_core_plugins_server_mocks.mdx | 2 +- api_docs/kbn_core_preboot_server.mdx | 2 +- api_docs/kbn_core_preboot_server_mocks.mdx | 2 +- api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +- .../kbn_core_rendering_server_internal.mdx | 2 +- api_docs/kbn_core_rendering_server_mocks.mdx | 2 +- api_docs/kbn_core_root_server_internal.mdx | 2 +- ...ore_saved_objects_api_browser.devdocs.json | 4 +- .../kbn_core_saved_objects_api_browser.mdx | 2 +- ...core_saved_objects_api_server.devdocs.json | 8 +- .../kbn_core_saved_objects_api_server.mdx | 2 +- ...bn_core_saved_objects_api_server_mocks.mdx | 2 +- ...ore_saved_objects_base_server_internal.mdx | 2 +- ...n_core_saved_objects_base_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_browser.mdx | 2 +- ...bn_core_saved_objects_browser_internal.mdx | 2 +- .../kbn_core_saved_objects_browser_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_common.mdx | 2 +- ..._objects_import_export_server_internal.mdx | 2 +- ...ved_objects_import_export_server_mocks.mdx | 2 +- ...aved_objects_migration_server_internal.mdx | 2 +- ...e_saved_objects_migration_server_mocks.mdx | 2 +- api_docs/kbn_core_saved_objects_server.mdx | 2 +- ...kbn_core_saved_objects_server_internal.mdx | 2 +- .../kbn_core_saved_objects_server_mocks.mdx | 2 +- .../kbn_core_saved_objects_utils_server.mdx | 2 +- api_docs/kbn_core_status_common.mdx | 2 +- api_docs/kbn_core_status_common_internal.mdx | 2 +- api_docs/kbn_core_status_server.mdx | 2 +- api_docs/kbn_core_status_server_internal.mdx | 2 +- api_docs/kbn_core_status_server_mocks.mdx | 2 +- ...core_test_helpers_deprecations_getters.mdx | 2 +- ...n_core_test_helpers_http_setup_browser.mdx | 2 +- api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +- ...n_core_test_helpers_so_type_serializer.mdx | 2 +- api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +- api_docs/kbn_core_theme_browser.mdx | 2 +- api_docs/kbn_core_theme_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_browser.mdx | 2 +- .../kbn_core_ui_settings_browser_internal.mdx | 2 +- .../kbn_core_ui_settings_browser_mocks.mdx | 2 +- api_docs/kbn_core_ui_settings_common.mdx | 2 +- api_docs/kbn_core_ui_settings_server.mdx | 2 +- .../kbn_core_ui_settings_server_internal.mdx | 2 +- .../kbn_core_ui_settings_server_mocks.mdx | 2 +- api_docs/kbn_core_usage_data_server.mdx | 2 +- .../kbn_core_usage_data_server_internal.mdx | 2 +- api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +- api_docs/kbn_core_user_settings_server.mdx | 2 +- ...kbn_core_user_settings_server_internal.mdx | 2 +- .../kbn_core_user_settings_server_mocks.mdx | 2 +- api_docs/kbn_crypto.mdx | 2 +- api_docs/kbn_crypto_browser.mdx | 2 +- api_docs/kbn_custom_integrations.mdx | 2 +- api_docs/kbn_cypress_config.mdx | 2 +- api_docs/kbn_data_service.mdx | 2 +- api_docs/kbn_datemath.mdx | 2 +- api_docs/kbn_deeplinks_analytics.mdx | 2 +- api_docs/kbn_deeplinks_devtools.mdx | 2 +- api_docs/kbn_deeplinks_management.mdx | 2 +- api_docs/kbn_deeplinks_ml.mdx | 2 +- api_docs/kbn_deeplinks_observability.mdx | 2 +- api_docs/kbn_deeplinks_search.mdx | 2 +- api_docs/kbn_default_nav_analytics.mdx | 2 +- api_docs/kbn_default_nav_devtools.mdx | 2 +- api_docs/kbn_default_nav_management.mdx | 2 +- api_docs/kbn_default_nav_ml.mdx | 2 +- api_docs/kbn_dev_cli_errors.mdx | 2 +- api_docs/kbn_dev_cli_runner.mdx | 2 +- api_docs/kbn_dev_proc_runner.mdx | 2 +- api_docs/kbn_dev_utils.mdx | 2 +- api_docs/kbn_discover_utils.mdx | 2 +- api_docs/kbn_doc_links.mdx | 2 +- api_docs/kbn_docs_utils.mdx | 2 +- api_docs/kbn_dom_drag_drop.mdx | 2 +- api_docs/kbn_ebt_tools.mdx | 2 +- api_docs/kbn_ecs.mdx | 2 +- api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +- api_docs/kbn_elastic_assistant.devdocs.json | 20 +- api_docs/kbn_elastic_assistant.mdx | 4 +- api_docs/kbn_es.devdocs.json | 49 -- api_docs/kbn_es.mdx | 4 +- api_docs/kbn_es_archiver.mdx | 2 +- api_docs/kbn_es_errors.mdx | 2 +- api_docs/kbn_es_query.mdx | 2 +- api_docs/kbn_es_types.mdx | 2 +- api_docs/kbn_eslint_plugin_imports.mdx | 2 +- api_docs/kbn_event_annotation_common.mdx | 2 +- api_docs/kbn_event_annotation_components.mdx | 2 +- api_docs/kbn_expandable_flyout.mdx | 2 +- api_docs/kbn_field_types.mdx | 2 +- api_docs/kbn_find_used_node_modules.mdx | 2 +- .../kbn_ftr_common_functional_services.mdx | 2 +- api_docs/kbn_generate.mdx | 2 +- api_docs/kbn_generate_console_definitions.mdx | 2 +- api_docs/kbn_generate_csv.mdx | 2 +- api_docs/kbn_generate_csv_types.mdx | 2 +- api_docs/kbn_guided_onboarding.mdx | 2 +- api_docs/kbn_handlebars.mdx | 2 +- api_docs/kbn_hapi_mocks.mdx | 2 +- api_docs/kbn_health_gateway_server.mdx | 2 +- api_docs/kbn_home_sample_data_card.mdx | 2 +- api_docs/kbn_home_sample_data_tab.mdx | 2 +- api_docs/kbn_i18n.mdx | 2 +- api_docs/kbn_i18n_react.mdx | 2 +- api_docs/kbn_import_resolver.mdx | 2 +- api_docs/kbn_infra_forge.mdx | 2 +- api_docs/kbn_interpreter.mdx | 2 +- api_docs/kbn_io_ts_utils.mdx | 2 +- api_docs/kbn_jest_serializers.mdx | 2 +- api_docs/kbn_journeys.mdx | 2 +- api_docs/kbn_json_ast.mdx | 2 +- api_docs/kbn_kibana_manifest_schema.mdx | 2 +- .../kbn_language_documentation_popover.mdx | 2 +- api_docs/kbn_lens_embeddable_utils.mdx | 2 +- api_docs/kbn_logging.mdx | 2 +- api_docs/kbn_logging_mocks.mdx | 2 +- api_docs/kbn_managed_vscode_config.mdx | 2 +- api_docs/kbn_management_cards_navigation.mdx | 2 +- ...gement_settings_components_field_input.mdx | 2 +- ...nagement_settings_components_field_row.mdx | 2 +- ...n_management_settings_field_definition.mdx | 2 +- api_docs/kbn_management_settings_ids.mdx | 2 +- ...n_management_settings_section_registry.mdx | 2 +- api_docs/kbn_management_settings_types.mdx | 2 +- .../kbn_management_settings_utilities.mdx | 2 +- api_docs/kbn_management_storybook_config.mdx | 2 +- api_docs/kbn_mapbox_gl.mdx | 2 +- api_docs/kbn_maps_vector_tile_utils.mdx | 2 +- api_docs/kbn_ml_agg_utils.mdx | 2 +- api_docs/kbn_ml_anomaly_utils.mdx | 2 +- api_docs/kbn_ml_category_validator.mdx | 2 +- .../kbn_ml_data_frame_analytics_utils.mdx | 2 +- api_docs/kbn_ml_data_grid.mdx | 2 +- api_docs/kbn_ml_date_picker.mdx | 2 +- api_docs/kbn_ml_date_utils.mdx | 2 +- api_docs/kbn_ml_error_utils.mdx | 2 +- api_docs/kbn_ml_in_memory_table.mdx | 2 +- api_docs/kbn_ml_is_defined.mdx | 2 +- api_docs/kbn_ml_is_populated_object.mdx | 2 +- api_docs/kbn_ml_kibana_theme.mdx | 2 +- api_docs/kbn_ml_local_storage.mdx | 2 +- api_docs/kbn_ml_nested_property.mdx | 2 +- api_docs/kbn_ml_number_utils.mdx | 2 +- api_docs/kbn_ml_query_utils.mdx | 2 +- api_docs/kbn_ml_random_sampler_utils.mdx | 2 +- api_docs/kbn_ml_route_utils.mdx | 2 +- api_docs/kbn_ml_runtime_field_utils.mdx | 2 +- api_docs/kbn_ml_string_hash.mdx | 2 +- api_docs/kbn_ml_trained_models_utils.mdx | 2 +- api_docs/kbn_ml_url_state.mdx | 2 +- api_docs/kbn_monaco.mdx | 2 +- api_docs/kbn_object_versioning.mdx | 2 +- api_docs/kbn_observability_alert_details.mdx | 2 +- api_docs/kbn_optimizer.mdx | 2 +- api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +- api_docs/kbn_osquery_io_ts_types.mdx | 2 +- ..._performance_testing_dataset_extractor.mdx | 2 +- api_docs/kbn_plugin_generator.mdx | 2 +- api_docs/kbn_plugin_helpers.mdx | 2 +- api_docs/kbn_profiling_utils.mdx | 2 +- api_docs/kbn_random_sampling.mdx | 2 +- api_docs/kbn_react_field.mdx | 2 +- api_docs/kbn_react_kibana_context_common.mdx | 2 +- api_docs/kbn_react_kibana_context_render.mdx | 2 +- api_docs/kbn_react_kibana_context_root.mdx | 2 +- api_docs/kbn_react_kibana_context_styled.mdx | 2 +- api_docs/kbn_react_kibana_context_theme.mdx | 2 +- api_docs/kbn_react_kibana_mount.mdx | 2 +- api_docs/kbn_repo_file_maps.mdx | 2 +- api_docs/kbn_repo_linter.mdx | 2 +- api_docs/kbn_repo_path.mdx | 2 +- api_docs/kbn_repo_source_classifier.mdx | 2 +- api_docs/kbn_reporting_common.mdx | 2 +- api_docs/kbn_rison.mdx | 2 +- api_docs/kbn_rrule.mdx | 2 +- api_docs/kbn_rule_data_utils.mdx | 2 +- api_docs/kbn_saved_objects_settings.mdx | 2 +- api_docs/kbn_search_api_panels.mdx | 2 +- api_docs/kbn_search_connectors.mdx | 2 +- api_docs/kbn_search_response_warnings.mdx | 2 +- api_docs/kbn_security_solution_features.mdx | 2 +- api_docs/kbn_security_solution_navigation.mdx | 2 +- api_docs/kbn_security_solution_side_nav.mdx | 2 +- ...kbn_security_solution_storybook_config.mdx | 2 +- .../kbn_securitysolution_autocomplete.mdx | 2 +- api_docs/kbn_securitysolution_data_table.mdx | 2 +- api_docs/kbn_securitysolution_ecs.mdx | 2 +- api_docs/kbn_securitysolution_es_utils.mdx | 2 +- ...ritysolution_exception_list_components.mdx | 2 +- api_docs/kbn_securitysolution_grouping.mdx | 2 +- api_docs/kbn_securitysolution_hook_utils.mdx | 2 +- ..._securitysolution_io_ts_alerting_types.mdx | 2 +- .../kbn_securitysolution_io_ts_list_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +- api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +- api_docs/kbn_securitysolution_list_api.mdx | 2 +- .../kbn_securitysolution_list_constants.mdx | 2 +- api_docs/kbn_securitysolution_list_hooks.mdx | 2 +- api_docs/kbn_securitysolution_list_utils.mdx | 2 +- api_docs/kbn_securitysolution_rules.mdx | 2 +- api_docs/kbn_securitysolution_t_grid.mdx | 2 +- api_docs/kbn_securitysolution_utils.mdx | 2 +- api_docs/kbn_server_http_tools.mdx | 2 +- api_docs/kbn_server_route_repository.mdx | 2 +- api_docs/kbn_serverless_common_settings.mdx | 2 +- .../kbn_serverless_observability_settings.mdx | 2 +- api_docs/kbn_serverless_project_switcher.mdx | 2 +- api_docs/kbn_serverless_search_settings.mdx | 2 +- api_docs/kbn_serverless_security_settings.mdx | 2 +- api_docs/kbn_serverless_storybook_config.mdx | 2 +- api_docs/kbn_shared_svg.mdx | 2 +- api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +- ...ared_ux_avatar_user_profile_components.mdx | 2 +- .../kbn_shared_ux_button_exit_full_screen.mdx | 2 +- ...hared_ux_button_exit_full_screen_mocks.mdx | 2 +- api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data.mdx | 2 +- api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +- api_docs/kbn_shared_ux_file_context.mdx | 2 +- api_docs/kbn_shared_ux_file_image.mdx | 2 +- api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_mocks.mdx | 2 +- api_docs/kbn_shared_ux_file_picker.mdx | 2 +- api_docs/kbn_shared_ux_file_types.mdx | 2 +- api_docs/kbn_shared_ux_file_upload.mdx | 2 +- api_docs/kbn_shared_ux_file_util.mdx | 2 +- api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +- .../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +- api_docs/kbn_shared_ux_markdown.mdx | 2 +- api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +- .../kbn_shared_ux_page_analytics_no_data.mdx | 2 +- ...shared_ux_page_analytics_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_no_data.mdx | 2 +- ...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +- .../kbn_shared_ux_page_kibana_template.mdx | 2 +- ...n_shared_ux_page_kibana_template_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data.mdx | 2 +- .../kbn_shared_ux_page_no_data_config.mdx | 2 +- ...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +- api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +- .../kbn_shared_ux_prompt_no_data_views.mdx | 2 +- ...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +- api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +- api_docs/kbn_shared_ux_router.mdx | 2 +- api_docs/kbn_shared_ux_router_mocks.mdx | 2 +- api_docs/kbn_shared_ux_storybook_config.mdx | 2 +- api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +- api_docs/kbn_shared_ux_utility.mdx | 2 +- api_docs/kbn_slo_schema.mdx | 2 +- api_docs/kbn_some_dev_log.mdx | 2 +- api_docs/kbn_std.mdx | 2 +- api_docs/kbn_stdio_dev_helpers.mdx | 2 +- api_docs/kbn_storybook.mdx | 2 +- .../kbn_subscription_tracking.devdocs.json | 519 ++++++++++++++++++ api_docs/kbn_subscription_tracking.mdx | 42 ++ api_docs/kbn_telemetry_tools.mdx | 2 +- api_docs/kbn_test.mdx | 2 +- api_docs/kbn_test_jest_helpers.mdx | 2 +- api_docs/kbn_test_subj_selector.mdx | 2 +- api_docs/kbn_text_based_editor.mdx | 2 +- api_docs/kbn_tooling_log.mdx | 2 +- api_docs/kbn_ts_projects.mdx | 2 +- api_docs/kbn_typed_react_router_config.mdx | 2 +- api_docs/kbn_ui_actions_browser.mdx | 2 +- api_docs/kbn_ui_shared_deps_src.devdocs.json | 55 ++ api_docs/kbn_ui_shared_deps_src.mdx | 4 +- api_docs/kbn_ui_theme.mdx | 2 +- api_docs/kbn_unified_data_table.mdx | 2 +- api_docs/kbn_unified_doc_viewer.mdx | 2 +- api_docs/kbn_unified_field_list.mdx | 2 +- api_docs/kbn_url_state.mdx | 2 +- api_docs/kbn_use_tracked_promise.mdx | 2 +- api_docs/kbn_user_profile_components.mdx | 2 +- api_docs/kbn_utility_types.mdx | 2 +- api_docs/kbn_utility_types_jest.mdx | 2 +- api_docs/kbn_utils.mdx | 2 +- api_docs/kbn_visualization_ui_components.mdx | 2 +- api_docs/kbn_xstate_utils.mdx | 2 +- api_docs/kbn_yarn_lock_validator.mdx | 2 +- api_docs/kibana_overview.mdx | 2 +- api_docs/kibana_react.mdx | 2 +- api_docs/kibana_utils.mdx | 2 +- api_docs/kubernetes_security.mdx | 2 +- api_docs/lens.mdx | 2 +- api_docs/license_api_guard.mdx | 2 +- api_docs/license_management.mdx | 2 +- api_docs/licensing.mdx | 2 +- api_docs/lists.mdx | 2 +- api_docs/log_explorer.mdx | 2 +- api_docs/logs_shared.mdx | 2 +- api_docs/management.mdx | 2 +- api_docs/maps.mdx | 2 +- api_docs/maps_ems.mdx | 2 +- api_docs/metrics_data_access.mdx | 2 +- api_docs/ml.mdx | 2 +- api_docs/monitoring.mdx | 2 +- api_docs/monitoring_collection.mdx | 2 +- api_docs/navigation.mdx | 2 +- api_docs/newsfeed.mdx | 2 +- api_docs/no_data_page.mdx | 2 +- api_docs/notifications.mdx | 2 +- api_docs/observability.devdocs.json | 61 +- api_docs/observability.mdx | 4 +- api_docs/observability_a_i_assistant.mdx | 2 +- api_docs/observability_onboarding.mdx | 2 +- api_docs/observability_shared.mdx | 2 +- api_docs/osquery.mdx | 2 +- api_docs/painless_lab.mdx | 2 +- api_docs/plugin_directory.mdx | 23 +- api_docs/presentation_util.mdx | 2 +- api_docs/profiling.mdx | 2 +- api_docs/profiling_data_access.mdx | 2 +- api_docs/remote_clusters.mdx | 2 +- api_docs/reporting.mdx | 2 +- api_docs/rollup.mdx | 2 +- api_docs/rule_registry.mdx | 2 +- api_docs/runtime_fields.mdx | 2 +- api_docs/saved_objects.mdx | 2 +- api_docs/saved_objects_finder.mdx | 2 +- api_docs/saved_objects_management.mdx | 2 +- api_docs/saved_objects_tagging.mdx | 2 +- api_docs/saved_objects_tagging_oss.mdx | 2 +- api_docs/saved_search.mdx | 2 +- api_docs/screenshot_mode.mdx | 2 +- api_docs/screenshotting.mdx | 2 +- api_docs/security.mdx | 2 +- api_docs/security_solution.mdx | 2 +- api_docs/security_solution_ess.mdx | 2 +- api_docs/security_solution_serverless.mdx | 2 +- api_docs/serverless.mdx | 2 +- api_docs/serverless_observability.mdx | 2 +- api_docs/serverless_search.mdx | 2 +- api_docs/session_view.mdx | 2 +- api_docs/share.mdx | 2 +- api_docs/snapshot_restore.mdx | 2 +- api_docs/spaces.mdx | 2 +- api_docs/stack_alerts.mdx | 2 +- api_docs/stack_connectors.mdx | 2 +- api_docs/task_manager.mdx | 2 +- api_docs/telemetry.mdx | 2 +- api_docs/telemetry_collection_manager.mdx | 2 +- api_docs/telemetry_collection_xpack.mdx | 2 +- api_docs/telemetry_management_section.mdx | 2 +- api_docs/text_based_languages.mdx | 2 +- api_docs/threat_intelligence.mdx | 2 +- api_docs/timelines.mdx | 2 +- api_docs/transform.mdx | 2 +- api_docs/triggers_actions_ui.devdocs.json | 18 +- api_docs/triggers_actions_ui.mdx | 4 +- api_docs/ui_actions.mdx | 2 +- api_docs/ui_actions_enhanced.mdx | 2 +- api_docs/unified_doc_viewer.mdx | 2 +- api_docs/unified_histogram.mdx | 2 +- api_docs/unified_search.mdx | 2 +- api_docs/unified_search_autocomplete.mdx | 2 +- api_docs/uptime.mdx | 2 +- api_docs/url_forwarding.mdx | 2 +- api_docs/usage_collection.mdx | 2 +- api_docs/ux.mdx | 2 +- api_docs/vis_default_editor.mdx | 2 +- api_docs/vis_type_gauge.mdx | 2 +- api_docs/vis_type_heatmap.mdx | 2 +- api_docs/vis_type_pie.mdx | 2 +- api_docs/vis_type_table.mdx | 2 +- api_docs/vis_type_timelion.mdx | 2 +- api_docs/vis_type_timeseries.mdx | 2 +- api_docs/vis_type_vega.mdx | 2 +- api_docs/vis_type_vislib.mdx | 2 +- api_docs/vis_type_xy.mdx | 2 +- api_docs/visualizations.mdx | 2 +- 604 files changed, 1584 insertions(+), 1326 deletions(-) create mode 100644 api_docs/kbn_subscription_tracking.devdocs.json create mode 100644 api_docs/kbn_subscription_tracking.mdx diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index ec10aa0381ec3..e94893589fba8 100644 --- a/api_docs/actions.mdx +++ b/api_docs/actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions title: "actions" image: https://source.unsplash.com/400x175/?github description: API docs for the actions plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index d08d30c9fc885..1817fa8394d74 100644 --- a/api_docs/advanced_settings.mdx +++ b/api_docs/advanced_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings title: "advancedSettings" image: https://source.unsplash.com/400x175/?github description: API docs for the advancedSettings plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings'] --- import advancedSettingsObj from './advanced_settings.devdocs.json'; diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx index 22129ac36386a..5643b52d83b5e 100644 --- a/api_docs/aiops.mdx +++ b/api_docs/aiops.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops title: "aiops" image: https://source.unsplash.com/400x175/?github description: API docs for the aiops plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.devdocs.json b/api_docs/alerting.devdocs.json index 9be8b8f4a38c8..00ded98b3bd48 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -3314,7 +3314,7 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.ts" + "path": "x-pack/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.ts" }, { "plugin": "infra", @@ -5151,60 +5151,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "alerting", - "id": "def-common.formatDefaultAggregationResult", - "type": "Function", - "tags": [], - "label": "formatDefaultAggregationResult", - "description": [], - "signature": [ - "(aggregations: ", - { - "pluginId": "alerting", - "scope": "common", - "docId": "kibAlertingPluginApi", - "section": "def-common.DefaultRuleAggregationResult", - "text": "DefaultRuleAggregationResult" - }, - ") => ", - { - "pluginId": "alerting", - "scope": "common", - "docId": "kibAlertingPluginApi", - "section": "def-common.RuleAggregationFormattedResult", - "text": "RuleAggregationFormattedResult" - } - ], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "alerting", - "id": "def-common.formatDefaultAggregationResult.$1", - "type": "Object", - "tags": [], - "label": "aggregations", - "description": [], - "signature": [ - { - "pluginId": "alerting", - "scope": "common", - "docId": "kibAlertingPluginApi", - "section": "def-common.DefaultRuleAggregationResult", - "text": "DefaultRuleAggregationResult" - } - ], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "alerting", "id": "def-common.formatDuration", @@ -5407,41 +5353,6 @@ "returnComment": [], "initialIsOpen": false }, - { - "parentPluginId": "alerting", - "id": "def-common.getDefaultRuleAggregation", - "type": "Function", - "tags": [], - "label": "getDefaultRuleAggregation", - "description": [], - "signature": [ - "(params?: GetDefaultRuleAggregationParams | undefined) => Record<string, ", - "AggregationsAggregationContainer", - ">" - ], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "alerting", - "id": "def-common.getDefaultRuleAggregation.$1", - "type": "Object", - "tags": [], - "label": "params", - "description": [], - "signature": [ - "GetDefaultRuleAggregationParams | undefined" - ], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [], - "initialIsOpen": false - }, { "parentPluginId": "alerting", "id": "def-common.getDurationNumberInItsUnit", @@ -5882,126 +5793,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "alerting", - "id": "def-common.AggregateOptions", - "type": "Interface", - "tags": [], - "label": "AggregateOptions", - "description": [], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "alerting", - "id": "def-common.AggregateOptions.search", - "type": "string", - "tags": [], - "label": "search", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.AggregateOptions.defaultSearchOperator", - "type": "CompoundType", - "tags": [], - "label": "defaultSearchOperator", - "description": [], - "signature": [ - "\"AND\" | \"OR\" | undefined" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.AggregateOptions.searchFields", - "type": "Array", - "tags": [], - "label": "searchFields", - "description": [], - "signature": [ - "string[] | undefined" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.AggregateOptions.hasReference", - "type": "Object", - "tags": [], - "label": "hasReference", - "description": [], - "signature": [ - "{ type: string; id: string; } | undefined" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.AggregateOptions.filter", - "type": "CompoundType", - "tags": [], - "label": "filter", - "description": [], - "signature": [ - "string | ", - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.KueryNode", - "text": "KueryNode" - }, - " | undefined" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.AggregateOptions.page", - "type": "number", - "tags": [], - "label": "page", - "description": [], - "signature": [ - "number | undefined" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.AggregateOptions.perPage", - "type": "number", - "tags": [], - "label": "perPage", - "description": [], - "signature": [ - "number | undefined" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "alerting", "id": "def-common.AlertingFrameworkHealth", @@ -6709,104 +6500,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "alerting", - "id": "def-common.DefaultRuleAggregationResult", - "type": "Interface", - "tags": [], - "label": "DefaultRuleAggregationResult", - "description": [], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "alerting", - "id": "def-common.DefaultRuleAggregationResult.status", - "type": "Object", - "tags": [], - "label": "status", - "description": [], - "signature": [ - "{ buckets: { key: string; doc_count: number; }[]; }" - ], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.DefaultRuleAggregationResult.outcome", - "type": "Object", - "tags": [], - "label": "outcome", - "description": [], - "signature": [ - "{ buckets: { key: string; doc_count: number; }[]; }" - ], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.DefaultRuleAggregationResult.muted", - "type": "Object", - "tags": [], - "label": "muted", - "description": [], - "signature": [ - "{ buckets: { key: number; key_as_string: string; doc_count: number; }[]; }" - ], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.DefaultRuleAggregationResult.enabled", - "type": "Object", - "tags": [], - "label": "enabled", - "description": [], - "signature": [ - "{ buckets: { key: number; key_as_string: string; doc_count: number; }[]; }" - ], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.DefaultRuleAggregationResult.snoozed", - "type": "Object", - "tags": [], - "label": "snoozed", - "description": [], - "signature": [ - "{ count: { doc_count: number; }; }" - ], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.DefaultRuleAggregationResult.tags", - "type": "Object", - "tags": [], - "label": "tags", - "description": [], - "signature": [ - "{ buckets: { key: string; doc_count: number; }[]; }" - ], - "path": "x-pack/plugins/alerting/common/default_rule_aggregation.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "alerting", "id": "def-common.ExecutionDuration", @@ -8273,104 +7966,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "alerting", - "id": "def-common.RuleAggregationFormattedResult", - "type": "Interface", - "tags": [], - "label": "RuleAggregationFormattedResult", - "description": [], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "alerting", - "id": "def-common.RuleAggregationFormattedResult.ruleExecutionStatus", - "type": "Object", - "tags": [], - "label": "ruleExecutionStatus", - "description": [], - "signature": [ - "{ [status: string]: number; }" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.RuleAggregationFormattedResult.ruleLastRunOutcome", - "type": "Object", - "tags": [], - "label": "ruleLastRunOutcome", - "description": [], - "signature": [ - "{ [status: string]: number; }" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.RuleAggregationFormattedResult.ruleEnabledStatus", - "type": "Object", - "tags": [], - "label": "ruleEnabledStatus", - "description": [], - "signature": [ - "{ enabled: number; disabled: number; }" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.RuleAggregationFormattedResult.ruleMutedStatus", - "type": "Object", - "tags": [], - "label": "ruleMutedStatus", - "description": [], - "signature": [ - "{ muted: number; unmuted: number; }" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.RuleAggregationFormattedResult.ruleSnoozedStatus", - "type": "Object", - "tags": [], - "label": "ruleSnoozedStatus", - "description": [], - "signature": [ - "{ snoozed: number; }" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "alerting", - "id": "def-common.RuleAggregationFormattedResult.ruleTags", - "type": "Array", - "tags": [], - "label": "ruleTags", - "description": [], - "signature": [ - "string[]" - ], - "path": "x-pack/plugins/alerting/common/rule.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "alerting", "id": "def-common.RuleExecutionStatus", @@ -10771,13 +10366,7 @@ "description": [], "signature": [ "Pick<", - { - "pluginId": "alerting", - "scope": "common", - "docId": "kibAlertingPluginApi", - "section": "def-common.AggregateOptions", - "text": "AggregateOptions" - }, + "AggregateOptions", ", \"search\" | \"filter\"> & { after?: ", "AggregationsCompositeAggregateKey", " | undefined; maxTags?: number | undefined; }" diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 665da1f4db254..60e6145e2a706 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 793 | 1 | 762 | 49 | +| 767 | 1 | 736 | 50 | ## Client diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index b2e749852e2c4..72b15df7be451 100644 --- a/api_docs/apm.mdx +++ b/api_docs/apm.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm title: "apm" image: https://source.unsplash.com/400x175/?github description: API docs for the apm plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index feab1dca03106..9478889abd9f4 100644 --- a/api_docs/apm_data_access.mdx +++ b/api_docs/apm_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess title: "apmDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the apmDataAccess plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess'] --- import apmDataAccessObj from './apm_data_access.devdocs.json'; diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx index 09173916ebc7b..d605b2699bc4d 100644 --- a/api_docs/asset_manager.mdx +++ b/api_docs/asset_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager title: "assetManager" image: https://source.unsplash.com/400x175/?github description: API docs for the assetManager plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index 4e6124d0da1e3..15388c1772664 100644 --- a/api_docs/banners.mdx +++ b/api_docs/banners.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners title: "banners" image: https://source.unsplash.com/400x175/?github description: API docs for the banners plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'banners'] --- import bannersObj from './banners.devdocs.json'; diff --git a/api_docs/bfetch.mdx b/api_docs/bfetch.mdx index 9bdba93323168..be599770239f9 100644 --- a/api_docs/bfetch.mdx +++ b/api_docs/bfetch.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch title: "bfetch" image: https://source.unsplash.com/400x175/?github description: API docs for the bfetch plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'bfetch'] --- import bfetchObj from './bfetch.devdocs.json'; diff --git a/api_docs/canvas.mdx b/api_docs/canvas.mdx index 078a3b3cf59ba..6f7721a20d38c 100644 --- a/api_docs/canvas.mdx +++ b/api_docs/canvas.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas title: "canvas" image: https://source.unsplash.com/400x175/?github description: API docs for the canvas plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'canvas'] --- import canvasObj from './canvas.devdocs.json'; diff --git a/api_docs/cases.mdx b/api_docs/cases.mdx index 488f95f130377..7f0997f7d996b 100644 --- a/api_docs/cases.mdx +++ b/api_docs/cases.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases title: "cases" image: https://source.unsplash.com/400x175/?github description: API docs for the cases plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cases'] --- import casesObj from './cases.devdocs.json'; diff --git a/api_docs/charts.mdx b/api_docs/charts.mdx index d188312c403ba..a520494a71261 100644 --- a/api_docs/charts.mdx +++ b/api_docs/charts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts title: "charts" image: https://source.unsplash.com/400x175/?github description: API docs for the charts plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index 7090e8b3a20f6..007270c8d009a 100644 --- a/api_docs/cloud.mdx +++ b/api_docs/cloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud title: "cloud" image: https://source.unsplash.com/400x175/?github description: API docs for the cloud plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.devdocs.json'; diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index 72f5f85adf384..4702ed68abb34 100644 --- a/api_docs/cloud_chat.mdx +++ b/api_docs/cloud_chat.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChat title: "cloudChat" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChat plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 9cd5eada5f214..abcfeaf0ef2b6 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index 7ab8225b5da92..d9778eb246342 100644 --- a/api_docs/cloud_data_migration.mdx +++ b/api_docs/cloud_data_migration.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration title: "cloudDataMigration" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDataMigration plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index 9b4e09565cc55..52131128e34c6 100644 --- a/api_docs/cloud_defend.mdx +++ b/api_docs/cloud_defend.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend title: "cloudDefend" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudDefend plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 87757ffac273e..d84e46c6a49c4 100644 --- a/api_docs/cloud_experiments.mdx +++ b/api_docs/cloud_experiments.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments title: "cloudExperiments" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudExperiments plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 8cdc61a0538aa..88d8c1adef741 100644 --- a/api_docs/cloud_security_posture.mdx +++ b/api_docs/cloud_security_posture.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture title: "cloudSecurityPosture" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudSecurityPosture plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 3038c1157ca8b..788651d16af05 100644 --- a/api_docs/console.mdx +++ b/api_docs/console.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console title: "console" image: https://source.unsplash.com/400x175/?github description: API docs for the console plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index ceb657dd5c70c..be8e73b50034d 100644 --- a/api_docs/content_management.mdx +++ b/api_docs/content_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement title: "contentManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the contentManagement plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index 8b253434ce6a7..8c55e83f2290d 100644 --- a/api_docs/controls.mdx +++ b/api_docs/controls.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls title: "controls" image: https://source.unsplash.com/400x175/?github description: API docs for the controls plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 0e4a43b4a8c92..831beb550a21e 100644 --- a/api_docs/custom_integrations.mdx +++ b/api_docs/custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations title: "customIntegrations" image: https://source.unsplash.com/400x175/?github description: API docs for the customIntegrations plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'customIntegrations'] --- import customIntegrationsObj from './custom_integrations.devdocs.json'; diff --git a/api_docs/dashboard.mdx b/api_docs/dashboard.mdx index ff420d61f1ac3..24870057d7dfa 100644 --- a/api_docs/dashboard.mdx +++ b/api_docs/dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard title: "dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboard plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboard'] --- import dashboardObj from './dashboard.devdocs.json'; diff --git a/api_docs/dashboard_enhanced.mdx b/api_docs/dashboard_enhanced.mdx index de635c35fcc04..3193ffd4eabce 100644 --- a/api_docs/dashboard_enhanced.mdx +++ b/api_docs/dashboard_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced title: "dashboardEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the dashboardEnhanced plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced'] --- import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json'; diff --git a/api_docs/data.devdocs.json b/api_docs/data.devdocs.json index 9e9f9e9eff6bb..c7f314f0f8988 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -13287,27 +13287,27 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx" + "path": "x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx" + "path": "x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx" }, { "plugin": "securitySolution", @@ -13317,6 +13317,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" @@ -21028,27 +21032,27 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx" + "path": "x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx" + "path": "x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx" }, { "plugin": "securitySolution", @@ -21058,6 +21062,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 973262fd2738f..332d863a7d922 100644 --- a/api_docs/data.mdx +++ b/api_docs/data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data title: "data" image: https://source.unsplash.com/400x175/?github description: API docs for the data plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index dad7f8db144b5..1cee5a9575dfb 100644 --- a/api_docs/data_query.mdx +++ b/api_docs/data_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query title: "data.query" image: https://source.unsplash.com/400x175/?github description: API docs for the data.query plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.devdocs.json b/api_docs/data_search.devdocs.json index f3cf4a4662778..20e66366a56cb 100644 --- a/api_docs/data_search.devdocs.json +++ b/api_docs/data_search.devdocs.json @@ -3183,19 +3183,15 @@ "signature": [ "{ search?: string | undefined; page?: number | undefined; filter?: any; aggs?: Record<string, ", "AggregationsAggregationContainer", - "> | undefined; namespaces?: string[] | undefined; perPage?: number | undefined; fields?: string[] | undefined; sortField?: string | undefined; preference?: string | undefined; pit?: ", + "> | undefined; namespaces?: string[] | undefined; perPage?: number | undefined; fields?: string[] | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; searchFields?: string[] | undefined; hasReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsPitParams", - "text": "SavedObjectsPitParams" + "section": "def-common.SavedObjectsFindOptionsReference", + "text": "SavedObjectsFindOptionsReference" }, - " | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; searchFields?: string[] | undefined; sortOrder?: ", - "SortOrder", - " | undefined; searchAfter?: ", - "SortResults", - " | undefined; rootSearchFields?: string[] | undefined; hasReference?: ", + " | ", { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", @@ -3203,15 +3199,19 @@ "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, - " | ", + "[] | undefined; sortField?: string | undefined; preference?: string | undefined; pit?: ", { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", "docId": "kibKbnCoreSavedObjectsApiServerPluginApi", - "section": "def-common.SavedObjectsFindOptionsReference", - "text": "SavedObjectsFindOptionsReference" + "section": "def-common.SavedObjectsPitParams", + "text": "SavedObjectsPitParams" }, - "[] | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", + " | undefined; sortOrder?: ", + "SortOrder", + " | undefined; searchAfter?: ", + "SortResults", + " | undefined; rootSearchFields?: string[] | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index fe8bf64afecb2..18051fadd9b94 100644 --- a/api_docs/data_search.mdx +++ b/api_docs/data_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search title: "data.search" image: https://source.unsplash.com/400x175/?github description: API docs for the data.search plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 2ec06d050bf34..af9687a9a0d0a 100644 --- a/api_docs/data_view_editor.mdx +++ b/api_docs/data_view_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor title: "dataViewEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewEditor plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewEditor'] --- import dataViewEditorObj from './data_view_editor.devdocs.json'; diff --git a/api_docs/data_view_field_editor.mdx b/api_docs/data_view_field_editor.mdx index d5b6bb78f1259..9314b784f777a 100644 --- a/api_docs/data_view_field_editor.mdx +++ b/api_docs/data_view_field_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor title: "dataViewFieldEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewFieldEditor plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewFieldEditor'] --- import dataViewFieldEditorObj from './data_view_field_editor.devdocs.json'; diff --git a/api_docs/data_view_management.mdx b/api_docs/data_view_management.mdx index eb1a6e20fc2d8..c28b7eac03077 100644 --- a/api_docs/data_view_management.mdx +++ b/api_docs/data_view_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement title: "dataViewManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViewManagement plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement'] --- import dataViewManagementObj from './data_view_management.devdocs.json'; diff --git a/api_docs/data_views.devdocs.json b/api_docs/data_views.devdocs.json index 129b6b38fa957..fff6459df7a6c 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -77,27 +77,27 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx" + "path": "x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx" + "path": "x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx" }, { "plugin": "securitySolution", @@ -107,6 +107,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" @@ -8066,27 +8070,27 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx" + "path": "x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx" + "path": "x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx" }, { "plugin": "securitySolution", @@ -8096,6 +8100,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" @@ -15116,27 +15124,27 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts" + "path": "x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx" + "path": "x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx" }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx" + "path": "x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx" }, { "plugin": "securitySolution", @@ -15146,6 +15154,10 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/containers/source/index.tsx" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index fee969c5ae690..ea5329381fff0 100644 --- a/api_docs/data_views.mdx +++ b/api_docs/data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews title: "dataViews" image: https://source.unsplash.com/400x175/?github description: API docs for the dataViews plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index a5c4d6c451110..d5c7d0159c426 100644 --- a/api_docs/data_visualizer.mdx +++ b/api_docs/data_visualizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer title: "dataVisualizer" image: https://source.unsplash.com/400x175/?github description: API docs for the dataVisualizer plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx index 74cb127d601f2..89cdecc631251 100644 --- a/api_docs/deprecations_by_api.mdx +++ b/api_docs/deprecations_by_api.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api title: Deprecated API usage by API description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 6ab4419267ce6..4cc118b47cfc9 100644 --- a/api_docs/deprecations_by_plugin.mdx +++ b/api_docs/deprecations_by_plugin.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin title: Deprecated API usage by plugin description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by. -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -1232,10 +1232,10 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| <DocLink id="kibAlertingPluginApi" section="def-server.RuleExecutorServices.alertFactory" text="alertFactory"/> | [executor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts#:~:text=alertFactory), [threshold_executor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.ts#:~:text=alertFactory), [executor.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.test.ts#:~:text=alertFactory) | - | -| <DocLink id="kibDataPluginApi" section="def-common.DataView.title" text="title"/> | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [threshold_rule_expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title)+ 2 more | - | -| <DocLink id="kibDataPluginApi" section="def-server.DataView.title" text="title"/> | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [threshold_rule_expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title)+ 2 more | - | -| <DocLink id="kibDataViewsPluginApi" section="def-public.DataView.title" text="title"/> | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [threshold_rule_expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx#:~:text=title) | - | +| <DocLink id="kibAlertingPluginApi" section="def-server.RuleExecutorServices.alertFactory" text="alertFactory"/> | [executor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts#:~:text=alertFactory), [custom_threshold_executor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/server/lib/rules/custom_threshold/custom_threshold_executor.ts#:~:text=alertFactory), [executor.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.test.ts#:~:text=alertFactory) | - | +| <DocLink id="kibDataPluginApi" section="def-common.DataView.title" text="title"/> | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [custom_threshold_rule_expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title)+ 2 more | - | +| <DocLink id="kibDataPluginApi" section="def-server.DataView.title" text="title"/> | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [custom_threshold_rule_expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title)+ 2 more | - | +| <DocLink id="kibDataViewsPluginApi" section="def-public.DataView.title" text="title"/> | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [custom_threshold_rule_expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/custom_threshold_rule_expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/custom_threshold/components/alert_details_app_section.tsx#:~:text=title) | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.toMountPoint" text="toMountPoint"/> | [header_menu_portal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/pages/overview/components/header_menu/header_menu_portal.tsx#:~:text=toMountPoint), [header_menu_portal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/pages/overview/components/header_menu/header_menu_portal.tsx#:~:text=toMountPoint) | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.RedirectAppLinks" text="RedirectAppLinks"/> | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks) | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.KibanaThemeProvider" text="KibanaThemeProvider"/> | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=KibanaThemeProvider) | - | @@ -1467,12 +1467,12 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | <DocLink id="kibDataPluginApi" section="def-public.SavedObject.migrationVersion" text="migrationVersion"/> | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 12 more | - | | <DocLink id="kibDataPluginApi" section="def-public.DataPublicPluginStart.indexPatterns" text="indexPatterns"/> | [dependencies_start_mock.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/mock/endpoint/dependencies_start_mock.ts#:~:text=indexPatterns) | - | | <DocLink id="kibDataPluginApi" section="def-common.SavedObject.migrationVersion" text="migrationVersion"/> | [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion), [host_risk_score_dashboards.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/risk_score/prebuilt_saved_objects/saved_object/host_risk_score_dashboards.ts#:~:text=migrationVersion)+ 78 more | - | -| <DocLink id="kibDataPluginApi" section="def-common.DataView.title" text="title"/> | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 28 more | - | +| <DocLink id="kibDataPluginApi" section="def-common.DataView.title" text="title"/> | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 30 more | - | | <DocLink id="kibDataPluginApi" section="def-common.SearchSource.create" text="create"/> | [wrap_search_source_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.ts#:~:text=create) | - | | <DocLink id="kibDataPluginApi" section="def-common.SearchSource.fetch" text="fetch"/> | [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch), [wrap_search_source_client.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/wrap_search_source_client.test.ts#:~:text=fetch) | - | | <DocLink id="kibDataPluginApi" section="def-common.EqlSearchStrategyRequest.options" text="options"/> | [api.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/hooks/eql/api.ts#:~:text=options) | - | -| <DocLink id="kibDataPluginApi" section="def-server.DataView.title" text="title"/> | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 28 more | - | -| <DocLink id="kibDataViewsPluginApi" section="def-public.DataView.title" text="title"/> | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title), [risk_score_preview_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/entity_analytics/components/risk_score_preview_section.tsx#:~:text=title)+ 9 more | - | +| <DocLink id="kibDataPluginApi" section="def-server.DataView.title" text="title"/> | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 30 more | - | +| <DocLink id="kibDataViewsPluginApi" section="def-public.DataView.title" text="title"/> | [get_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_query_filter.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/containers/source/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/query_bar/index.tsx#:~:text=title), [use_rule_from_timeline.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/rules/use_rule_from_timeline.tsx#:~:text=title), [get_es_query_filter.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/containers/detection_engine/exceptions/get_es_query_filter.ts#:~:text=title), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/pages/detection_engine/rules/utils.ts#:~:text=title), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/filter_group/index.tsx#:~:text=title), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/detections/components/detection_page_filters/index.tsx#:~:text=title)+ 10 more | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.toMountPoint" text="toMountPoint"/> | [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [use_update_data_view.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [ingest_pipelines.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/ingest_pipelines.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [stored_scripts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/stored_scripts.ts#:~:text=toMountPoint), [saved_objects.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/explore/containers/risk_score/onboarding/api/saved_objects.ts#:~:text=toMountPoint)+ 5 more | - | | <DocLink id="kibKibanaReactPluginApi" section="def-public.KibanaThemeProvider" text="KibanaThemeProvider"/> | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider) | - | | <DocLink id="kibLicensingPluginApi" section="def-public.PublicLicense.mode" text="mode"/> | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/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/main/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/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 16dceface5bbd..dcbccd55f1493 100644 --- a/api_docs/deprecations_by_team.mdx +++ b/api_docs/deprecations_by_team.mdx @@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam slug: /kibana-dev-docs/api-meta/deprecations-due-by-team title: Deprecated APIs due to be removed, by team description: Lists the teams that are referencing deprecated APIs with a remove by date. -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 976492edbf317..77210b741ef55 100644 --- a/api_docs/dev_tools.mdx +++ b/api_docs/dev_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools title: "devTools" image: https://source.unsplash.com/400x175/?github description: API docs for the devTools plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'devTools'] --- import devToolsObj from './dev_tools.devdocs.json'; diff --git a/api_docs/discover.mdx b/api_docs/discover.mdx index b79ef12dc8080..7b7b630f79f9c 100644 --- a/api_docs/discover.mdx +++ b/api_docs/discover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover title: "discover" image: https://source.unsplash.com/400x175/?github description: API docs for the discover plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discover'] --- import discoverObj from './discover.devdocs.json'; diff --git a/api_docs/discover_enhanced.mdx b/api_docs/discover_enhanced.mdx index bcf59ecd7d6a5..7399769fc914e 100644 --- a/api_docs/discover_enhanced.mdx +++ b/api_docs/discover_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced title: "discoverEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the discoverEnhanced plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 35a1968cb6df0..014c28b564d7e 100644 --- a/api_docs/ecs_data_quality_dashboard.mdx +++ b/api_docs/ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard title: "ecsDataQualityDashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the ecsDataQualityDashboard plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index b112d4399f1a4..de2eccf467816 100644 --- a/api_docs/elastic_assistant.mdx +++ b/api_docs/elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant title: "elasticAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the elasticAssistant plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant'] --- import elasticAssistantObj from './elastic_assistant.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 84c572d1da40a..26727e9175caf 100644 --- a/api_docs/embeddable.mdx +++ b/api_docs/embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable title: "embeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddable plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index af5ac6accfcce..758e85f535595 100644 --- a/api_docs/embeddable_enhanced.mdx +++ b/api_docs/embeddable_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced title: "embeddableEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the embeddableEnhanced plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddableEnhanced'] --- import embeddableEnhancedObj from './embeddable_enhanced.devdocs.json'; diff --git a/api_docs/encrypted_saved_objects.mdx b/api_docs/encrypted_saved_objects.mdx index f4694fcb25c9c..3f0ed203478e5 100644 --- a/api_docs/encrypted_saved_objects.mdx +++ b/api_docs/encrypted_saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects title: "encryptedSavedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the encryptedSavedObjects plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects'] --- import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json'; diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index b68e141559ffd..53291dbc89588 100644 --- a/api_docs/enterprise_search.mdx +++ b/api_docs/enterprise_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch title: "enterpriseSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the enterpriseSearch plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'enterpriseSearch'] --- import enterpriseSearchObj from './enterprise_search.devdocs.json'; diff --git a/api_docs/es_ui_shared.mdx b/api_docs/es_ui_shared.mdx index 8e9345631fef1..dedae4e510774 100644 --- a/api_docs/es_ui_shared.mdx +++ b/api_docs/es_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared title: "esUiShared" image: https://source.unsplash.com/400x175/?github description: API docs for the esUiShared plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.devdocs.json b/api_docs/event_annotation.devdocs.json index e11e847c4ed5f..5c7ca2fba07bb 100644 --- a/api_docs/event_annotation.devdocs.json +++ b/api_docs/event_annotation.devdocs.json @@ -1120,6 +1120,105 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupCreateOut", + "type": "Type", + "tags": [], + "label": "EventAnnotationGroupCreateOut", + "description": [], + "signature": [ + "{ item: ", + "EventAnnotationGroupSavedObject", + "; }" + ], + "path": "src/plugins/event_annotation/common/content_management/v1/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupDeleteIn", + "type": "Type", + "tags": [], + "label": "EventAnnotationGroupDeleteIn", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.DeleteIn", + "text": "DeleteIn" + }, + "<\"event-annotation-group\", object>" + ], + "path": "src/plugins/event_annotation/common/content_management/v1/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupDeleteOut", + "type": "Type", + "tags": [], + "label": "EventAnnotationGroupDeleteOut", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.DeleteResult", + "text": "DeleteResult" + } + ], + "path": "src/plugins/event_annotation/common/content_management/v1/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupGetIn", + "type": "Type", + "tags": [], + "label": "EventAnnotationGroupGetIn", + "description": [], + "signature": [ + { + "pluginId": "contentManagement", + "scope": "common", + "docId": "kibContentManagementPluginApi", + "section": "def-common.GetIn", + "text": "GetIn" + }, + "<\"event-annotation-group\", object>" + ], + "path": "src/plugins/event_annotation/common/content_management/v1/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupGetOut", + "type": "Type", + "tags": [], + "label": "EventAnnotationGroupGetOut", + "description": [], + "signature": [ + "{ item: ", + "EventAnnotationGroupSavedObject", + "; meta: { outcome: \"conflict\" | \"exactMatch\" | \"aliasMatch\"; aliasTargetId?: string | undefined; aliasPurpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; }; }" + ], + "path": "src/plugins/event_annotation/common/content_management/v1/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "eventAnnotation", "id": "def-common.EventAnnotationGroupSearchIn", @@ -1144,6 +1243,23 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "eventAnnotation", + "id": "def-common.EventAnnotationGroupSearchOut", + "type": "Type", + "tags": [], + "label": "EventAnnotationGroupSearchOut", + "description": [], + "signature": [ + "{ hits: ", + "EventAnnotationGroupSavedObject", + "[]; pagination: { total: number; cursor?: string | undefined; }; }" + ], + "path": "src/plugins/event_annotation/common/content_management/v1/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "eventAnnotation", "id": "def-common.EventAnnotationGroupUpdateIn", diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index dedb47d332ea0..2407204f61a77 100644 --- a/api_docs/event_annotation.mdx +++ b/api_docs/event_annotation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation title: "eventAnnotation" image: https://source.unsplash.com/400x175/?github description: API docs for the eventAnnotation plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 195 | 0 | 195 | 5 | +| 201 | 0 | 201 | 6 | ## Client diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index fb698e796989d..a88d80e63c72e 100644 --- a/api_docs/event_log.mdx +++ b/api_docs/event_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog title: "eventLog" image: https://source.unsplash.com/400x175/?github description: API docs for the eventLog plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventLog'] --- import eventLogObj from './event_log.devdocs.json'; diff --git a/api_docs/exploratory_view.mdx b/api_docs/exploratory_view.mdx index 59d62906310d1..9ba48933c4859 100644 --- a/api_docs/exploratory_view.mdx +++ b/api_docs/exploratory_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView title: "exploratoryView" image: https://source.unsplash.com/400x175/?github description: API docs for the exploratoryView plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'exploratoryView'] --- import exploratoryViewObj from './exploratory_view.devdocs.json'; diff --git a/api_docs/expression_error.mdx b/api_docs/expression_error.mdx index e8d9ebde4c48f..a399ba71db8a7 100644 --- a/api_docs/expression_error.mdx +++ b/api_docs/expression_error.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError title: "expressionError" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionError plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionError'] --- import expressionErrorObj from './expression_error.devdocs.json'; diff --git a/api_docs/expression_gauge.mdx b/api_docs/expression_gauge.mdx index b361ce4e564d6..a9748dd70b7c5 100644 --- a/api_docs/expression_gauge.mdx +++ b/api_docs/expression_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge title: "expressionGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionGauge plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionGauge'] --- import expressionGaugeObj from './expression_gauge.devdocs.json'; diff --git a/api_docs/expression_heatmap.mdx b/api_docs/expression_heatmap.mdx index c64fc4239c208..a0a1c5bd22f83 100644 --- a/api_docs/expression_heatmap.mdx +++ b/api_docs/expression_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap title: "expressionHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionHeatmap plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionHeatmap'] --- import expressionHeatmapObj from './expression_heatmap.devdocs.json'; diff --git a/api_docs/expression_image.mdx b/api_docs/expression_image.mdx index c4900a48fecb5..2e6ffe413b7bd 100644 --- a/api_docs/expression_image.mdx +++ b/api_docs/expression_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage title: "expressionImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionImage plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionImage'] --- import expressionImageObj from './expression_image.devdocs.json'; diff --git a/api_docs/expression_legacy_metric_vis.mdx b/api_docs/expression_legacy_metric_vis.mdx index 6159ddc9b73b2..808cb9b371a2d 100644 --- a/api_docs/expression_legacy_metric_vis.mdx +++ b/api_docs/expression_legacy_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis title: "expressionLegacyMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionLegacyMetricVis plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionLegacyMetricVis'] --- import expressionLegacyMetricVisObj from './expression_legacy_metric_vis.devdocs.json'; diff --git a/api_docs/expression_metric.mdx b/api_docs/expression_metric.mdx index 33ea6a3a360d3..85fd885aaa0de 100644 --- a/api_docs/expression_metric.mdx +++ b/api_docs/expression_metric.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric title: "expressionMetric" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetric plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetric'] --- import expressionMetricObj from './expression_metric.devdocs.json'; diff --git a/api_docs/expression_metric_vis.mdx b/api_docs/expression_metric_vis.mdx index 26732fe7b12fb..931f6d75e3066 100644 --- a/api_docs/expression_metric_vis.mdx +++ b/api_docs/expression_metric_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis title: "expressionMetricVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionMetricVis plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionMetricVis'] --- import expressionMetricVisObj from './expression_metric_vis.devdocs.json'; diff --git a/api_docs/expression_partition_vis.mdx b/api_docs/expression_partition_vis.mdx index 9b9ce414a9575..baff8c0b5ff36 100644 --- a/api_docs/expression_partition_vis.mdx +++ b/api_docs/expression_partition_vis.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis title: "expressionPartitionVis" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionPartitionVis plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionPartitionVis'] --- import expressionPartitionVisObj from './expression_partition_vis.devdocs.json'; diff --git a/api_docs/expression_repeat_image.mdx b/api_docs/expression_repeat_image.mdx index ddcda1fd4cf74..797cfb2addc56 100644 --- a/api_docs/expression_repeat_image.mdx +++ b/api_docs/expression_repeat_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage title: "expressionRepeatImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRepeatImage plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRepeatImage'] --- import expressionRepeatImageObj from './expression_repeat_image.devdocs.json'; diff --git a/api_docs/expression_reveal_image.mdx b/api_docs/expression_reveal_image.mdx index 57495fa4fe25e..81f6fd1a00272 100644 --- a/api_docs/expression_reveal_image.mdx +++ b/api_docs/expression_reveal_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage title: "expressionRevealImage" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionRevealImage plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionRevealImage'] --- import expressionRevealImageObj from './expression_reveal_image.devdocs.json'; diff --git a/api_docs/expression_shape.mdx b/api_docs/expression_shape.mdx index 347a0c8b5b2ca..e5e9eb597a0f4 100644 --- a/api_docs/expression_shape.mdx +++ b/api_docs/expression_shape.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape title: "expressionShape" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionShape plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionShape'] --- import expressionShapeObj from './expression_shape.devdocs.json'; diff --git a/api_docs/expression_tagcloud.mdx b/api_docs/expression_tagcloud.mdx index e16ba3c35ef63..9080393e16ea1 100644 --- a/api_docs/expression_tagcloud.mdx +++ b/api_docs/expression_tagcloud.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud title: "expressionTagcloud" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionTagcloud plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionTagcloud'] --- import expressionTagcloudObj from './expression_tagcloud.devdocs.json'; diff --git a/api_docs/expression_x_y.mdx b/api_docs/expression_x_y.mdx index 72cb6439e6bee..1c550de449274 100644 --- a/api_docs/expression_x_y.mdx +++ b/api_docs/expression_x_y.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY title: "expressionXY" image: https://source.unsplash.com/400x175/?github description: API docs for the expressionXY plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index 5559664660786..e9dc901384300 100644 --- a/api_docs/expressions.mdx +++ b/api_docs/expressions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions title: "expressions" image: https://source.unsplash.com/400x175/?github description: API docs for the expressions plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index d58cd3ebc7e1d..358bd54b4e22d 100644 --- a/api_docs/features.mdx +++ b/api_docs/features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features title: "features" image: https://source.unsplash.com/400x175/?github description: API docs for the features plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'features'] --- import featuresObj from './features.devdocs.json'; diff --git a/api_docs/field_formats.mdx b/api_docs/field_formats.mdx index 70b550e4a8b4b..f059d0d893222 100644 --- a/api_docs/field_formats.mdx +++ b/api_docs/field_formats.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats title: "fieldFormats" image: https://source.unsplash.com/400x175/?github description: API docs for the fieldFormats plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fieldFormats'] --- import fieldFormatsObj from './field_formats.devdocs.json'; diff --git a/api_docs/file_upload.mdx b/api_docs/file_upload.mdx index 6e8aaec01e2ae..cd132e99309d5 100644 --- a/api_docs/file_upload.mdx +++ b/api_docs/file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload title: "fileUpload" image: https://source.unsplash.com/400x175/?github description: API docs for the fileUpload plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fileUpload'] --- import fileUploadObj from './file_upload.devdocs.json'; diff --git a/api_docs/files.mdx b/api_docs/files.mdx index 747f1e89eb6b6..51fdf9b22b488 100644 --- a/api_docs/files.mdx +++ b/api_docs/files.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files title: "files" image: https://source.unsplash.com/400x175/?github description: API docs for the files plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'files'] --- import filesObj from './files.devdocs.json'; diff --git a/api_docs/files_management.mdx b/api_docs/files_management.mdx index a62527194108d..11d578c25074b 100644 --- a/api_docs/files_management.mdx +++ b/api_docs/files_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement title: "filesManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the filesManagement plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 45e011f7068ff..3dfa9e98c38b9 100644 --- a/api_docs/fleet.mdx +++ b/api_docs/fleet.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet title: "fleet" image: https://source.unsplash.com/400x175/?github description: API docs for the fleet plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index d90a640e051d4..3a14d1fa4291b 100644 --- a/api_docs/global_search.mdx +++ b/api_docs/global_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch title: "globalSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the globalSearch plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'globalSearch'] --- import globalSearchObj from './global_search.devdocs.json'; diff --git a/api_docs/guided_onboarding.mdx b/api_docs/guided_onboarding.mdx index 2fd5915e5325d..0282fa5249a4d 100644 --- a/api_docs/guided_onboarding.mdx +++ b/api_docs/guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding title: "guidedOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the guidedOnboarding plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 883c85a14ba5a..7005ba01a5add 100644 --- a/api_docs/home.mdx +++ b/api_docs/home.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home title: "home" image: https://source.unsplash.com/400x175/?github description: API docs for the home plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 677d05ae1be0c..d299d5f4720ae 100644 --- a/api_docs/image_embeddable.mdx +++ b/api_docs/image_embeddable.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable title: "imageEmbeddable" image: https://source.unsplash.com/400x175/?github description: API docs for the imageEmbeddable plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'imageEmbeddable'] --- import imageEmbeddableObj from './image_embeddable.devdocs.json'; diff --git a/api_docs/index_lifecycle_management.mdx b/api_docs/index_lifecycle_management.mdx index 3014a97dca8c0..eb20f8bd0b1d5 100644 --- a/api_docs/index_lifecycle_management.mdx +++ b/api_docs/index_lifecycle_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement title: "indexLifecycleManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexLifecycleManagement plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.devdocs.json b/api_docs/index_management.devdocs.json index a5b4b8abf9b56..3b24e5a85204f 100644 --- a/api_docs/index_management.devdocs.json +++ b/api_docs/index_management.devdocs.json @@ -1410,12 +1410,13 @@ { "parentPluginId": "indexManagement", "id": "def-common.DataStream.storageSize", - "type": "string", + "type": "CompoundType", "tags": [], "label": "storageSize", "description": [], "signature": [ - "string | undefined" + "ByteSize", + " | undefined" ], "path": "x-pack/plugins/index_management/common/types/data_streams.ts", "deprecated": false, @@ -1457,7 +1458,8 @@ "label": "_meta", "description": [], "signature": [ - "MetaFromEs | undefined" + "Metadata", + " | undefined" ], "path": "x-pack/plugins/index_management/common/types/data_streams.ts", "deprecated": false, @@ -1487,16 +1489,31 @@ "path": "x-pack/plugins/index_management/common/types/data_streams.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "indexManagement", + "id": "def-common.DataStream.lifecycle", + "type": "Object", + "tags": [], + "label": "lifecycle", + "description": [], + "signature": [ + "IndicesDataLifecycleWithRollover", + " | undefined" + ], + "path": "x-pack/plugins/index_management/common/types/data_streams.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false }, { "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs", + "id": "def-common.DataStreamIndex", "type": "Interface", "tags": [], - "label": "DataStreamFromEs", + "label": "DataStreamIndex", "description": [], "path": "x-pack/plugins/index_management/common/types/data_streams.ts", "deprecated": false, @@ -1504,7 +1521,7 @@ "children": [ { "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.name", + "id": "def-common.DataStreamIndex.name", "type": "string", "tags": [], "label": "name", @@ -1515,106 +1532,50 @@ }, { "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.timestamp_field", - "type": "Object", - "tags": [], - "label": "timestamp_field", - "description": [], - "signature": [ - "TimestampFieldFromEs" - ], - "path": "x-pack/plugins/index_management/common/types/data_streams.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.indices", - "type": "Array", - "tags": [], - "label": "indices", - "description": [], - "signature": [ - "DataStreamIndexFromEs", - "[]" - ], - "path": "x-pack/plugins/index_management/common/types/data_streams.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.generation", - "type": "number", - "tags": [], - "label": "generation", - "description": [], - "path": "x-pack/plugins/index_management/common/types/data_streams.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs._meta", - "type": "Object", - "tags": [], - "label": "_meta", - "description": [], - "signature": [ - "MetaFromEs | undefined" - ], - "path": "x-pack/plugins/index_management/common/types/data_streams.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.status", - "type": "CompoundType", - "tags": [], - "label": "status", - "description": [], - "signature": [ - "\"GREEN\" | \"YELLOW\" | \"RED\"" - ], - "path": "x-pack/plugins/index_management/common/types/data_streams.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.template", + "id": "def-common.DataStreamIndex.uuid", "type": "string", "tags": [], - "label": "template", + "label": "uuid", "description": [], "path": "x-pack/plugins/index_management/common/types/data_streams.ts", "deprecated": false, "trackAdoption": false - }, + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "indexManagement", + "id": "def-common.EnhancedDataStreamFromEs", + "type": "Interface", + "tags": [], + "label": "EnhancedDataStreamFromEs", + "description": [], + "signature": [ { - "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.ilm_policy", - "type": "string", - "tags": [], - "label": "ilm_policy", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "x-pack/plugins/index_management/common/types/data_streams.ts", - "deprecated": false, - "trackAdoption": false + "pluginId": "indexManagement", + "scope": "common", + "docId": "kibIndexManagementPluginApi", + "section": "def-common.EnhancedDataStreamFromEs", + "text": "EnhancedDataStreamFromEs" }, + " extends ", + "IndicesDataStream" + ], + "path": "x-pack/plugins/index_management/common/types/data_streams.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ { "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.store_size", - "type": "string", + "id": "def-common.EnhancedDataStreamFromEs.store_size", + "type": "CompoundType", "tags": [], "label": "store_size", "description": [], "signature": [ - "string | undefined" + "ByteSize", + " | undefined" ], "path": "x-pack/plugins/index_management/common/types/data_streams.ts", "deprecated": false, @@ -1622,7 +1583,7 @@ }, { "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.store_size_bytes", + "id": "def-common.EnhancedDataStreamFromEs.store_size_bytes", "type": "number", "tags": [], "label": "store_size_bytes", @@ -1636,7 +1597,7 @@ }, { "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.maximum_timestamp", + "id": "def-common.EnhancedDataStreamFromEs.maximum_timestamp", "type": "number", "tags": [], "label": "maximum_timestamp", @@ -1650,64 +1611,17 @@ }, { "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.privileges", + "id": "def-common.EnhancedDataStreamFromEs.privileges", "type": "Object", "tags": [], "label": "privileges", "description": [], "signature": [ - "PrivilegesFromEs" + "{ delete_index: boolean; }" ], "path": "x-pack/plugins/index_management/common/types/data_streams.ts", "deprecated": false, "trackAdoption": false - }, - { - "parentPluginId": "indexManagement", - "id": "def-common.DataStreamFromEs.hidden", - "type": "boolean", - "tags": [], - "label": "hidden", - "description": [], - "path": "x-pack/plugins/index_management/common/types/data_streams.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "indexManagement", - "id": "def-common.DataStreamIndex", - "type": "Interface", - "tags": [], - "label": "DataStreamIndex", - "description": [], - "path": "x-pack/plugins/index_management/common/types/data_streams.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "indexManagement", - "id": "def-common.DataStreamIndex.name", - "type": "string", - "tags": [], - "label": "name", - "description": [], - "path": "x-pack/plugins/index_management/common/types/data_streams.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "indexManagement", - "id": "def-common.DataStreamIndex.uuid", - "type": "string", - "tags": [], - "label": "uuid", - "description": [], - "path": "x-pack/plugins/index_management/common/types/data_streams.ts", - "deprecated": false, - "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index 210c8db0b2901..9e94def6d0002 100644 --- a/api_docs/index_management.mdx +++ b/api_docs/index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement title: "indexManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the indexManagement plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexManagement'] --- import indexManagementObj from './index_management.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/platform-deployment-management](https://github.com/orgs/elasti | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 194 | 0 | 189 | 4 | +| 186 | 0 | 181 | 3 | ## Client diff --git a/api_docs/infra.mdx b/api_docs/infra.mdx index e7fcfd4448bda..ba4cdde25d33f 100644 --- a/api_docs/infra.mdx +++ b/api_docs/infra.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra title: "infra" image: https://source.unsplash.com/400x175/?github description: API docs for the infra plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra'] --- import infraObj from './infra.devdocs.json'; diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx index c327ce577ffab..455d116a454f0 100644 --- a/api_docs/inspector.mdx +++ b/api_docs/inspector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector title: "inspector" image: https://source.unsplash.com/400x175/?github description: API docs for the inspector plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'inspector'] --- import inspectorObj from './inspector.devdocs.json'; diff --git a/api_docs/interactive_setup.mdx b/api_docs/interactive_setup.mdx index 7e77600558565..a0275128349fe 100644 --- a/api_docs/interactive_setup.mdx +++ b/api_docs/interactive_setup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup title: "interactiveSetup" image: https://source.unsplash.com/400x175/?github description: API docs for the interactiveSetup plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'interactiveSetup'] --- import interactiveSetupObj from './interactive_setup.devdocs.json'; diff --git a/api_docs/kbn_ace.mdx b/api_docs/kbn_ace.mdx index 08ecddbf0e546..e928af2b0acd2 100644 --- a/api_docs/kbn_ace.mdx +++ b/api_docs/kbn_ace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace title: "@kbn/ace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ace plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace'] --- import kbnAceObj from './kbn_ace.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 52e226fe31f38..edafae4289b72 100644 --- a/api_docs/kbn_aiops_components.mdx +++ b/api_docs/kbn_aiops_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components title: "@kbn/aiops-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-components plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json'; diff --git a/api_docs/kbn_aiops_utils.mdx b/api_docs/kbn_aiops_utils.mdx index d413952770e9c..5f7b4672aba30 100644 --- a/api_docs/kbn_aiops_utils.mdx +++ b/api_docs/kbn_aiops_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-utils title: "@kbn/aiops-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/aiops-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-utils'] --- import kbnAiopsUtilsObj from './kbn_aiops_utils.devdocs.json'; diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx index 74a7c194b58e2..37f9df0c150b6 100644 --- a/api_docs/kbn_alerting_api_integration_helpers.mdx +++ b/api_docs/kbn_alerting_api_integration_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers title: "@kbn/alerting-api-integration-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-api-integration-helpers plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers'] --- import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json'; diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx index 1155edfa57925..d1196dc1fa364 100644 --- a/api_docs/kbn_alerting_state_types.mdx +++ b/api_docs/kbn_alerting_state_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types title: "@kbn/alerting-state-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerting-state-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types'] --- import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json'; diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index 56b6a659a1cfa..3dbff1eecc348 100644 --- a/api_docs/kbn_alerts_as_data_utils.mdx +++ b/api_docs/kbn_alerts_as_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils title: "@kbn/alerts-as-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-as-data-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-as-data-utils'] --- import kbnAlertsAsDataUtilsObj from './kbn_alerts_as_data_utils.devdocs.json'; diff --git a/api_docs/kbn_alerts_ui_shared.mdx b/api_docs/kbn_alerts_ui_shared.mdx index dcc3e6917906c..85f92a5beb5db 100644 --- a/api_docs/kbn_alerts_ui_shared.mdx +++ b/api_docs/kbn_alerts_ui_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared title: "@kbn/alerts-ui-shared" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/alerts-ui-shared plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerts-ui-shared'] --- import kbnAlertsUiSharedObj from './kbn_alerts_ui_shared.devdocs.json'; diff --git a/api_docs/kbn_analytics.mdx b/api_docs/kbn_analytics.mdx index 5e7d5cda6a907..0b350353f11ad 100644 --- a/api_docs/kbn_analytics.mdx +++ b/api_docs/kbn_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics title: "@kbn/analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.devdocs.json b/api_docs/kbn_analytics_client.devdocs.json index 54f5709af6432..adbb90ee01e6e 100644 --- a/api_docs/kbn_analytics_client.devdocs.json +++ b/api_docs/kbn_analytics_client.devdocs.json @@ -694,6 +694,14 @@ "plugin": "security", "path": "x-pack/plugins/security/server/analytics/analytics_service.ts" }, + { + "plugin": "@kbn/subscription-tracking", + "path": "packages/kbn-subscription-tracking/src/use_go_to_subscription.ts" + }, + { + "plugin": "@kbn/subscription-tracking", + "path": "packages/kbn-subscription-tracking/src/use_impression.ts" + }, { "plugin": "dashboard", "path": "src/plugins/dashboard/public/services/analytics/types.ts" @@ -710,6 +718,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts" + }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/server/lib/telemetry/sender.ts" diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index 1431b10b96c02..929c3a45317ff 100644 --- a/api_docs/kbn_analytics_client.mdx +++ b/api_docs/kbn_analytics_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client title: "@kbn/analytics-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-client plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client'] --- import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx index 98abb678e022e..02de5c67063cc 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser title: "@kbn/analytics-shippers-elastic-v3-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-browser'] --- import kbnAnalyticsShippersElasticV3BrowserObj from './kbn_analytics_shippers_elastic_v3_browser.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx index 75fdab72a1664..1e4231079ebfa 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common title: "@kbn/analytics-shippers-elastic-v3-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-common'] --- import kbnAnalyticsShippersElasticV3CommonObj from './kbn_analytics_shippers_elastic_v3_common.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx index db0ce46c2cca1..7f246664319ff 100644 --- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx +++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server title: "@kbn/analytics-shippers-elastic-v3-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-elastic-v3-server'] --- import kbnAnalyticsShippersElasticV3ServerObj from './kbn_analytics_shippers_elastic_v3_server.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_fullstory.mdx b/api_docs/kbn_analytics_shippers_fullstory.mdx index fe5d6301ae0a9..ebcd462bad230 100644 --- a/api_docs/kbn_analytics_shippers_fullstory.mdx +++ b/api_docs/kbn_analytics_shippers_fullstory.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory title: "@kbn/analytics-shippers-fullstory" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-fullstory plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory'] --- import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json'; diff --git a/api_docs/kbn_analytics_shippers_gainsight.mdx b/api_docs/kbn_analytics_shippers_gainsight.mdx index 1e5c56e8540ed..5886b383c9553 100644 --- a/api_docs/kbn_analytics_shippers_gainsight.mdx +++ b/api_docs/kbn_analytics_shippers_gainsight.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-gainsight title: "@kbn/analytics-shippers-gainsight" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/analytics-shippers-gainsight plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-gainsight'] --- import kbnAnalyticsShippersGainsightObj from './kbn_analytics_shippers_gainsight.devdocs.json'; diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx index b5a17f95e4914..7a998ab96f2ab 100644 --- a/api_docs/kbn_apm_config_loader.mdx +++ b/api_docs/kbn_apm_config_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader title: "@kbn/apm-config-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-config-loader plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-config-loader'] --- import kbnApmConfigLoaderObj from './kbn_apm_config_loader.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx index 269e6c2fe51e0..9333fe73299a6 100644 --- a/api_docs/kbn_apm_synthtrace.mdx +++ b/api_docs/kbn_apm_synthtrace.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace title: "@kbn/apm-synthtrace" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace'] --- import kbnApmSynthtraceObj from './kbn_apm_synthtrace.devdocs.json'; diff --git a/api_docs/kbn_apm_synthtrace_client.mdx b/api_docs/kbn_apm_synthtrace_client.mdx index c3b4b0ccf6851..56bdcad91968d 100644 --- a/api_docs/kbn_apm_synthtrace_client.mdx +++ b/api_docs/kbn_apm_synthtrace_client.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client title: "@kbn/apm-synthtrace-client" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-synthtrace-client plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-synthtrace-client'] --- import kbnApmSynthtraceClientObj from './kbn_apm_synthtrace_client.devdocs.json'; diff --git a/api_docs/kbn_apm_utils.mdx b/api_docs/kbn_apm_utils.mdx index 7ffe42df8b83c..50f0e1f48dd66 100644 --- a/api_docs/kbn_apm_utils.mdx +++ b/api_docs/kbn_apm_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils title: "@kbn/apm-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/apm-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-utils'] --- import kbnApmUtilsObj from './kbn_apm_utils.devdocs.json'; diff --git a/api_docs/kbn_axe_config.mdx b/api_docs/kbn_axe_config.mdx index ea5a3a98abe3a..da512ec031b60 100644 --- a/api_docs/kbn_axe_config.mdx +++ b/api_docs/kbn_axe_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config title: "@kbn/axe-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/axe-config plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config'] --- import kbnAxeConfigObj from './kbn_axe_config.devdocs.json'; diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx index fbe7866473bcb..746df336b12d2 100644 --- a/api_docs/kbn_cases_components.mdx +++ b/api_docs/kbn_cases_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components title: "@kbn/cases-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cases-components plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cases-components'] --- import kbnCasesComponentsObj from './kbn_cases_components.devdocs.json'; diff --git a/api_docs/kbn_cell_actions.mdx b/api_docs/kbn_cell_actions.mdx index 25522ed3865a2..d5249795aed1f 100644 --- a/api_docs/kbn_cell_actions.mdx +++ b/api_docs/kbn_cell_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions title: "@kbn/cell-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cell-actions plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cell-actions'] --- import kbnCellActionsObj from './kbn_cell_actions.devdocs.json'; diff --git a/api_docs/kbn_chart_expressions_common.mdx b/api_docs/kbn_chart_expressions_common.mdx index 878f101e79d36..febc21bee6ffb 100644 --- a/api_docs/kbn_chart_expressions_common.mdx +++ b/api_docs/kbn_chart_expressions_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common title: "@kbn/chart-expressions-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-expressions-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-expressions-common'] --- import kbnChartExpressionsCommonObj from './kbn_chart_expressions_common.devdocs.json'; diff --git a/api_docs/kbn_chart_icons.mdx b/api_docs/kbn_chart_icons.mdx index 1658fd746d357..86322a1d6238a 100644 --- a/api_docs/kbn_chart_icons.mdx +++ b/api_docs/kbn_chart_icons.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons title: "@kbn/chart-icons" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/chart-icons plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/chart-icons'] --- import kbnChartIconsObj from './kbn_chart_icons.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_core.mdx b/api_docs/kbn_ci_stats_core.mdx index 57da814dd2406..755ad40d0ea40 100644 --- a/api_docs/kbn_ci_stats_core.mdx +++ b/api_docs/kbn_ci_stats_core.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core title: "@kbn/ci-stats-core" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-core plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-core'] --- import kbnCiStatsCoreObj from './kbn_ci_stats_core.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_performance_metrics.mdx b/api_docs/kbn_ci_stats_performance_metrics.mdx index 1876e4a29dd0c..ab08330793019 100644 --- a/api_docs/kbn_ci_stats_performance_metrics.mdx +++ b/api_docs/kbn_ci_stats_performance_metrics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics title: "@kbn/ci-stats-performance-metrics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-performance-metrics plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-performance-metrics'] --- import kbnCiStatsPerformanceMetricsObj from './kbn_ci_stats_performance_metrics.devdocs.json'; diff --git a/api_docs/kbn_ci_stats_reporter.mdx b/api_docs/kbn_ci_stats_reporter.mdx index 9f601981e3dad..e78d1a2341832 100644 --- a/api_docs/kbn_ci_stats_reporter.mdx +++ b/api_docs/kbn_ci_stats_reporter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter title: "@kbn/ci-stats-reporter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ci-stats-reporter plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ci-stats-reporter'] --- import kbnCiStatsReporterObj from './kbn_ci_stats_reporter.devdocs.json'; diff --git a/api_docs/kbn_cli_dev_mode.mdx b/api_docs/kbn_cli_dev_mode.mdx index aa9afe0e6bdf5..74a5c8b817471 100644 --- a/api_docs/kbn_cli_dev_mode.mdx +++ b/api_docs/kbn_cli_dev_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode title: "@kbn/cli-dev-mode" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cli-dev-mode plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cli-dev-mode'] --- import kbnCliDevModeObj from './kbn_cli_dev_mode.devdocs.json'; diff --git a/api_docs/kbn_code_editor.mdx b/api_docs/kbn_code_editor.mdx index 109fe7aff525b..e9d4d388d6eb7 100644 --- a/api_docs/kbn_code_editor.mdx +++ b/api_docs/kbn_code_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor title: "@kbn/code-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor'] --- import kbnCodeEditorObj from './kbn_code_editor.devdocs.json'; diff --git a/api_docs/kbn_code_editor_mocks.mdx b/api_docs/kbn_code_editor_mocks.mdx index 6d063326b3b3a..21341deaa7cae 100644 --- a/api_docs/kbn_code_editor_mocks.mdx +++ b/api_docs/kbn_code_editor_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mocks title: "@kbn/code-editor-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/code-editor-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mocks'] --- import kbnCodeEditorMocksObj from './kbn_code_editor_mocks.devdocs.json'; diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx index fca9a8c5c322f..6c6f70f8e9671 100644 --- a/api_docs/kbn_coloring.mdx +++ b/api_docs/kbn_coloring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring title: "@kbn/coloring" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/coloring plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/coloring'] --- import kbnColoringObj from './kbn_coloring.devdocs.json'; diff --git a/api_docs/kbn_config.mdx b/api_docs/kbn_config.mdx index 4d3fb887f21b8..7dbd6ffe80637 100644 --- a/api_docs/kbn_config.mdx +++ b/api_docs/kbn_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config title: "@kbn/config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index c92f82b27df0a..e82d78e4a1859 100644 --- a/api_docs/kbn_config_mocks.mdx +++ b/api_docs/kbn_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks title: "@kbn/config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index 46a571dffd4fd..ce53f668745d2 100644 --- a/api_docs/kbn_config_schema.mdx +++ b/api_docs/kbn_config_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema title: "@kbn/config-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/config-schema plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.devdocs.json'; diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 2c20cab969269..c0fefe6fd9e83 100644 --- a/api_docs/kbn_content_management_content_editor.mdx +++ b/api_docs/kbn_content_management_content_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor title: "@kbn/content-management-content-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-content-editor plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index 883d8a78c250a..480e4d5f0a651 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index 5b542d0d61354..f8e23e97c8c40 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 5df2b5a15f823..9310a5b23a2e4 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index 6050db97f3548..1861115fcf47c 100644 --- a/api_docs/kbn_content_management_utils.mdx +++ b/api_docs/kbn_content_management_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils title: "@kbn/content-management-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-utils'] --- import kbnContentManagementUtilsObj from './kbn_content_management_utils.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser.mdx b/api_docs/kbn_core_analytics_browser.mdx index 2e69f191ad449..51ea6801ef508 100644 --- a/api_docs/kbn_core_analytics_browser.mdx +++ b/api_docs/kbn_core_analytics_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser title: "@kbn/core-analytics-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser'] --- import kbnCoreAnalyticsBrowserObj from './kbn_core_analytics_browser.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_internal.mdx b/api_docs/kbn_core_analytics_browser_internal.mdx index 9ee1d9e495b79..21101c5a0bf3d 100644 --- a/api_docs/kbn_core_analytics_browser_internal.mdx +++ b/api_docs/kbn_core_analytics_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal title: "@kbn/core-analytics-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-internal'] --- import kbnCoreAnalyticsBrowserInternalObj from './kbn_core_analytics_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_browser_mocks.mdx b/api_docs/kbn_core_analytics_browser_mocks.mdx index 93ebce24da602..1a0618d3f6892 100644 --- a/api_docs/kbn_core_analytics_browser_mocks.mdx +++ b/api_docs/kbn_core_analytics_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks title: "@kbn/core-analytics-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-browser-mocks'] --- import kbnCoreAnalyticsBrowserMocksObj from './kbn_core_analytics_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server.mdx b/api_docs/kbn_core_analytics_server.mdx index 6d269f9294534..f59997144780a 100644 --- a/api_docs/kbn_core_analytics_server.mdx +++ b/api_docs/kbn_core_analytics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server title: "@kbn/core-analytics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server'] --- import kbnCoreAnalyticsServerObj from './kbn_core_analytics_server.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_internal.mdx b/api_docs/kbn_core_analytics_server_internal.mdx index f4ca8e4ae41f7..053f10a70a196 100644 --- a/api_docs/kbn_core_analytics_server_internal.mdx +++ b/api_docs/kbn_core_analytics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal title: "@kbn/core-analytics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-internal'] --- import kbnCoreAnalyticsServerInternalObj from './kbn_core_analytics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_analytics_server_mocks.mdx b/api_docs/kbn_core_analytics_server_mocks.mdx index 787c930535c49..9b38203b673a6 100644 --- a/api_docs/kbn_core_analytics_server_mocks.mdx +++ b/api_docs/kbn_core_analytics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks title: "@kbn/core-analytics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-analytics-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-analytics-server-mocks'] --- import kbnCoreAnalyticsServerMocksObj from './kbn_core_analytics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser.mdx b/api_docs/kbn_core_application_browser.mdx index ad2393d79632d..07c0eb18c5393 100644 --- a/api_docs/kbn_core_application_browser.mdx +++ b/api_docs/kbn_core_application_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser title: "@kbn/core-application-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser'] --- import kbnCoreApplicationBrowserObj from './kbn_core_application_browser.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_internal.mdx b/api_docs/kbn_core_application_browser_internal.mdx index b7aab6b4c493b..560c1dcbd47ea 100644 --- a/api_docs/kbn_core_application_browser_internal.mdx +++ b/api_docs/kbn_core_application_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal title: "@kbn/core-application-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal'] --- import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index dac9fa29a97d4..ce985201500d9 100644 --- a/api_docs/kbn_core_application_browser_mocks.mdx +++ b/api_docs/kbn_core_application_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks title: "@kbn/core-application-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-mocks'] --- import kbnCoreApplicationBrowserMocksObj from './kbn_core_application_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_application_common.mdx b/api_docs/kbn_core_application_common.mdx index f665e9d9ecf20..ee325463ba6bb 100644 --- a/api_docs/kbn_core_application_common.mdx +++ b/api_docs/kbn_core_application_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common title: "@kbn/core-application-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-application-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-common'] --- import kbnCoreApplicationCommonObj from './kbn_core_application_common.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_internal.mdx b/api_docs/kbn_core_apps_browser_internal.mdx index 02cf4fd9f4802..7595feea40609 100644 --- a/api_docs/kbn_core_apps_browser_internal.mdx +++ b/api_docs/kbn_core_apps_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal title: "@kbn/core-apps-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-internal'] --- import kbnCoreAppsBrowserInternalObj from './kbn_core_apps_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_apps_browser_mocks.mdx b/api_docs/kbn_core_apps_browser_mocks.mdx index fb1d9f90941ee..0f6fe1cbbc643 100644 --- a/api_docs/kbn_core_apps_browser_mocks.mdx +++ b/api_docs/kbn_core_apps_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks title: "@kbn/core-apps-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-browser-mocks'] --- import kbnCoreAppsBrowserMocksObj from './kbn_core_apps_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_apps_server_internal.mdx b/api_docs/kbn_core_apps_server_internal.mdx index 3056c91730b4c..610d1c98be9fa 100644 --- a/api_docs/kbn_core_apps_server_internal.mdx +++ b/api_docs/kbn_core_apps_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal title: "@kbn/core-apps-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-apps-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-apps-server-internal'] --- import kbnCoreAppsServerInternalObj from './kbn_core_apps_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_browser_mocks.mdx b/api_docs/kbn_core_base_browser_mocks.mdx index 0e94e11483833..5b5d2390e06da 100644 --- a/api_docs/kbn_core_base_browser_mocks.mdx +++ b/api_docs/kbn_core_base_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks title: "@kbn/core-base-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-browser-mocks'] --- import kbnCoreBaseBrowserMocksObj from './kbn_core_base_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_base_common.mdx b/api_docs/kbn_core_base_common.mdx index bb292f3a80240..961ea0d98a6e1 100644 --- a/api_docs/kbn_core_base_common.mdx +++ b/api_docs/kbn_core_base_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common title: "@kbn/core-base-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-common'] --- import kbnCoreBaseCommonObj from './kbn_core_base_common.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_internal.mdx b/api_docs/kbn_core_base_server_internal.mdx index 431280d8f8b7a..6fa496a0e4a3a 100644 --- a/api_docs/kbn_core_base_server_internal.mdx +++ b/api_docs/kbn_core_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal title: "@kbn/core-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-internal'] --- import kbnCoreBaseServerInternalObj from './kbn_core_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_base_server_mocks.mdx b/api_docs/kbn_core_base_server_mocks.mdx index 6d49d7b89f56e..524974d57d272 100644 --- a/api_docs/kbn_core_base_server_mocks.mdx +++ b/api_docs/kbn_core_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks title: "@kbn/core-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-base-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-base-server-mocks'] --- import kbnCoreBaseServerMocksObj from './kbn_core_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_browser_mocks.mdx b/api_docs/kbn_core_capabilities_browser_mocks.mdx index 4ee2badf63701..769ac4a8fa7e2 100644 --- a/api_docs/kbn_core_capabilities_browser_mocks.mdx +++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks title: "@kbn/core-capabilities-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-browser-mocks'] --- import kbnCoreCapabilitiesBrowserMocksObj from './kbn_core_capabilities_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_common.mdx b/api_docs/kbn_core_capabilities_common.mdx index 462cdb9ec9936..db41b1972e83b 100644 --- a/api_docs/kbn_core_capabilities_common.mdx +++ b/api_docs/kbn_core_capabilities_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common title: "@kbn/core-capabilities-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-common'] --- import kbnCoreCapabilitiesCommonObj from './kbn_core_capabilities_common.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server.mdx b/api_docs/kbn_core_capabilities_server.mdx index ff970404a1927..a7281538cb169 100644 --- a/api_docs/kbn_core_capabilities_server.mdx +++ b/api_docs/kbn_core_capabilities_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server title: "@kbn/core-capabilities-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server'] --- import kbnCoreCapabilitiesServerObj from './kbn_core_capabilities_server.devdocs.json'; diff --git a/api_docs/kbn_core_capabilities_server_mocks.mdx b/api_docs/kbn_core_capabilities_server_mocks.mdx index 3ef941bbc2da4..a56954b9f87ad 100644 --- a/api_docs/kbn_core_capabilities_server_mocks.mdx +++ b/api_docs/kbn_core_capabilities_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks title: "@kbn/core-capabilities-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-capabilities-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index b1455cebda134..ab11d8099f64b 100644 --- a/api_docs/kbn_core_chrome_browser.mdx +++ b/api_docs/kbn_core_chrome_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser title: "@kbn/core-chrome-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser'] --- import kbnCoreChromeBrowserObj from './kbn_core_chrome_browser.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser_mocks.mdx b/api_docs/kbn_core_chrome_browser_mocks.mdx index 6cd2f87cf2dc0..b0c598e8e7fc2 100644 --- a/api_docs/kbn_core_chrome_browser_mocks.mdx +++ b/api_docs/kbn_core_chrome_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks title: "@kbn/core-chrome-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-chrome-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-chrome-browser-mocks'] --- import kbnCoreChromeBrowserMocksObj from './kbn_core_chrome_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_config_server_internal.mdx b/api_docs/kbn_core_config_server_internal.mdx index 8bab8235009e8..0b854379873f8 100644 --- a/api_docs/kbn_core_config_server_internal.mdx +++ b/api_docs/kbn_core_config_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal title: "@kbn/core-config-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-config-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-config-server-internal'] --- import kbnCoreConfigServerInternalObj from './kbn_core_config_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser.mdx b/api_docs/kbn_core_custom_branding_browser.mdx index 12d2604c35bc0..bc66a658a09d7 100644 --- a/api_docs/kbn_core_custom_branding_browser.mdx +++ b/api_docs/kbn_core_custom_branding_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser title: "@kbn/core-custom-branding-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser'] --- import kbnCoreCustomBrandingBrowserObj from './kbn_core_custom_branding_browser.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_internal.mdx b/api_docs/kbn_core_custom_branding_browser_internal.mdx index 51c469f2d721a..98f0453bba863 100644 --- a/api_docs/kbn_core_custom_branding_browser_internal.mdx +++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal title: "@kbn/core-custom-branding-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-internal'] --- import kbnCoreCustomBrandingBrowserInternalObj from './kbn_core_custom_branding_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_browser_mocks.mdx b/api_docs/kbn_core_custom_branding_browser_mocks.mdx index 7bdbcde0b681c..5ae78ac6ae630 100644 --- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks title: "@kbn/core-custom-branding-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-browser-mocks'] --- import kbnCoreCustomBrandingBrowserMocksObj from './kbn_core_custom_branding_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_common.mdx b/api_docs/kbn_core_custom_branding_common.mdx index 6657a1b5a5463..6f527601d25d5 100644 --- a/api_docs/kbn_core_custom_branding_common.mdx +++ b/api_docs/kbn_core_custom_branding_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common title: "@kbn/core-custom-branding-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-common'] --- import kbnCoreCustomBrandingCommonObj from './kbn_core_custom_branding_common.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server.mdx b/api_docs/kbn_core_custom_branding_server.mdx index 1ccdf52e0fe0c..965803224a208 100644 --- a/api_docs/kbn_core_custom_branding_server.mdx +++ b/api_docs/kbn_core_custom_branding_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server title: "@kbn/core-custom-branding-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server'] --- import kbnCoreCustomBrandingServerObj from './kbn_core_custom_branding_server.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_internal.mdx b/api_docs/kbn_core_custom_branding_server_internal.mdx index 792727a53527e..bc610c19de8e5 100644 --- a/api_docs/kbn_core_custom_branding_server_internal.mdx +++ b/api_docs/kbn_core_custom_branding_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal title: "@kbn/core-custom-branding-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal'] --- import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 288845aab22dd..9ddc85365cf36 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.mdx +++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks title: "@kbn/core-custom-branding-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-custom-branding-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-mocks'] --- import kbnCoreCustomBrandingServerMocksObj from './kbn_core_custom_branding_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser.mdx b/api_docs/kbn_core_deprecations_browser.mdx index 1b01571ae584a..96c64c80dc32d 100644 --- a/api_docs/kbn_core_deprecations_browser.mdx +++ b/api_docs/kbn_core_deprecations_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser title: "@kbn/core-deprecations-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser'] --- import kbnCoreDeprecationsBrowserObj from './kbn_core_deprecations_browser.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_internal.mdx b/api_docs/kbn_core_deprecations_browser_internal.mdx index a04805f49b4a2..63605616a152a 100644 --- a/api_docs/kbn_core_deprecations_browser_internal.mdx +++ b/api_docs/kbn_core_deprecations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal title: "@kbn/core-deprecations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-internal'] --- import kbnCoreDeprecationsBrowserInternalObj from './kbn_core_deprecations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_browser_mocks.mdx b/api_docs/kbn_core_deprecations_browser_mocks.mdx index 3a1d96a5885a5..9efc60f0471ef 100644 --- a/api_docs/kbn_core_deprecations_browser_mocks.mdx +++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks title: "@kbn/core-deprecations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-browser-mocks'] --- import kbnCoreDeprecationsBrowserMocksObj from './kbn_core_deprecations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_common.mdx b/api_docs/kbn_core_deprecations_common.mdx index dfa0926e1b443..31e1f0f0577f2 100644 --- a/api_docs/kbn_core_deprecations_common.mdx +++ b/api_docs/kbn_core_deprecations_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common title: "@kbn/core-deprecations-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-common'] --- import kbnCoreDeprecationsCommonObj from './kbn_core_deprecations_common.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server.mdx b/api_docs/kbn_core_deprecations_server.mdx index bc5bb99a112c4..6ff6ad2fe8914 100644 --- a/api_docs/kbn_core_deprecations_server.mdx +++ b/api_docs/kbn_core_deprecations_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server title: "@kbn/core-deprecations-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server'] --- import kbnCoreDeprecationsServerObj from './kbn_core_deprecations_server.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_internal.mdx b/api_docs/kbn_core_deprecations_server_internal.mdx index 0f359f6490541..995063b09c18b 100644 --- a/api_docs/kbn_core_deprecations_server_internal.mdx +++ b/api_docs/kbn_core_deprecations_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal title: "@kbn/core-deprecations-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-internal'] --- import kbnCoreDeprecationsServerInternalObj from './kbn_core_deprecations_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_deprecations_server_mocks.mdx b/api_docs/kbn_core_deprecations_server_mocks.mdx index 644431b6e0b48..bce3b6202bbfb 100644 --- a/api_docs/kbn_core_deprecations_server_mocks.mdx +++ b/api_docs/kbn_core_deprecations_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks title: "@kbn/core-deprecations-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-deprecations-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-deprecations-server-mocks'] --- import kbnCoreDeprecationsServerMocksObj from './kbn_core_deprecations_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser.mdx b/api_docs/kbn_core_doc_links_browser.mdx index 0b15fef58826c..6f3d2d9e58536 100644 --- a/api_docs/kbn_core_doc_links_browser.mdx +++ b/api_docs/kbn_core_doc_links_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser title: "@kbn/core-doc-links-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser'] --- import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index de6e8725476a2..546f57bf82513 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.mdx +++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks title: "@kbn/core-doc-links-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser-mocks'] --- import kbnCoreDocLinksBrowserMocksObj from './kbn_core_doc_links_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server.mdx b/api_docs/kbn_core_doc_links_server.mdx index 3846540cb7906..577a756550aa2 100644 --- a/api_docs/kbn_core_doc_links_server.mdx +++ b/api_docs/kbn_core_doc_links_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server title: "@kbn/core-doc-links-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server'] --- import kbnCoreDocLinksServerObj from './kbn_core_doc_links_server.devdocs.json'; diff --git a/api_docs/kbn_core_doc_links_server_mocks.mdx b/api_docs/kbn_core_doc_links_server_mocks.mdx index 53e296cccb735..33cb79877ea30 100644 --- a/api_docs/kbn_core_doc_links_server_mocks.mdx +++ b/api_docs/kbn_core_doc_links_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks title: "@kbn/core-doc-links-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-doc-links-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-server-mocks'] --- import kbnCoreDocLinksServerMocksObj from './kbn_core_doc_links_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx index d79a6e6ee117d..614692e4ad2df 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal title: "@kbn/core-elasticsearch-client-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal'] --- import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index 1e70b4deff0ff..fb3b031f4a90a 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks title: "@kbn/core-elasticsearch-client-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-mocks'] --- import kbnCoreElasticsearchClientServerMocksObj from './kbn_core_elasticsearch_client_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server.mdx b/api_docs/kbn_core_elasticsearch_server.mdx index c2d71495027f5..69ef4a6620109 100644 --- a/api_docs/kbn_core_elasticsearch_server.mdx +++ b/api_docs/kbn_core_elasticsearch_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server title: "@kbn/core-elasticsearch-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server'] --- import kbnCoreElasticsearchServerObj from './kbn_core_elasticsearch_server.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_internal.mdx b/api_docs/kbn_core_elasticsearch_server_internal.mdx index fbc988f9558e7..c6656383616ae 100644 --- a/api_docs/kbn_core_elasticsearch_server_internal.mdx +++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal title: "@kbn/core-elasticsearch-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal'] --- import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index ade0799dcf68d..986e6acdeec9e 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx +++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks title: "@kbn/core-elasticsearch-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-elasticsearch-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-mocks'] --- import kbnCoreElasticsearchServerMocksObj from './kbn_core_elasticsearch_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_internal.mdx b/api_docs/kbn_core_environment_server_internal.mdx index 9cb38caf49621..84f0843a19e8a 100644 --- a/api_docs/kbn_core_environment_server_internal.mdx +++ b/api_docs/kbn_core_environment_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal title: "@kbn/core-environment-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-internal'] --- import kbnCoreEnvironmentServerInternalObj from './kbn_core_environment_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_environment_server_mocks.mdx b/api_docs/kbn_core_environment_server_mocks.mdx index 4043cf0a22cc3..211df87cc4f7a 100644 --- a/api_docs/kbn_core_environment_server_mocks.mdx +++ b/api_docs/kbn_core_environment_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks title: "@kbn/core-environment-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-environment-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-environment-server-mocks'] --- import kbnCoreEnvironmentServerMocksObj from './kbn_core_environment_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser.mdx b/api_docs/kbn_core_execution_context_browser.mdx index f8ce8edd5401e..390af95765099 100644 --- a/api_docs/kbn_core_execution_context_browser.mdx +++ b/api_docs/kbn_core_execution_context_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser title: "@kbn/core-execution-context-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser'] --- import kbnCoreExecutionContextBrowserObj from './kbn_core_execution_context_browser.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_internal.mdx b/api_docs/kbn_core_execution_context_browser_internal.mdx index 6b2ac0d00c16e..3a5af90ebf2fd 100644 --- a/api_docs/kbn_core_execution_context_browser_internal.mdx +++ b/api_docs/kbn_core_execution_context_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal title: "@kbn/core-execution-context-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-internal'] --- import kbnCoreExecutionContextBrowserInternalObj from './kbn_core_execution_context_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_browser_mocks.mdx b/api_docs/kbn_core_execution_context_browser_mocks.mdx index f22969795aff9..14fb0cd51dc1a 100644 --- a/api_docs/kbn_core_execution_context_browser_mocks.mdx +++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks title: "@kbn/core-execution-context-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-browser-mocks'] --- import kbnCoreExecutionContextBrowserMocksObj from './kbn_core_execution_context_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_common.mdx b/api_docs/kbn_core_execution_context_common.mdx index 18d451571c778..9a604b86f3a8d 100644 --- a/api_docs/kbn_core_execution_context_common.mdx +++ b/api_docs/kbn_core_execution_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common title: "@kbn/core-execution-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-common'] --- import kbnCoreExecutionContextCommonObj from './kbn_core_execution_context_common.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server.mdx b/api_docs/kbn_core_execution_context_server.mdx index 60f68cf242fb2..e14d1636cd8ae 100644 --- a/api_docs/kbn_core_execution_context_server.mdx +++ b/api_docs/kbn_core_execution_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server title: "@kbn/core-execution-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server'] --- import kbnCoreExecutionContextServerObj from './kbn_core_execution_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_internal.mdx b/api_docs/kbn_core_execution_context_server_internal.mdx index 7f3f4539da535..eabf55d85162a 100644 --- a/api_docs/kbn_core_execution_context_server_internal.mdx +++ b/api_docs/kbn_core_execution_context_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal title: "@kbn/core-execution-context-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-internal'] --- import kbnCoreExecutionContextServerInternalObj from './kbn_core_execution_context_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_execution_context_server_mocks.mdx b/api_docs/kbn_core_execution_context_server_mocks.mdx index 09f3d6fcb46df..865b17a16a313 100644 --- a/api_docs/kbn_core_execution_context_server_mocks.mdx +++ b/api_docs/kbn_core_execution_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks title: "@kbn/core-execution-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-execution-context-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-execution-context-server-mocks'] --- import kbnCoreExecutionContextServerMocksObj from './kbn_core_execution_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser.mdx b/api_docs/kbn_core_fatal_errors_browser.mdx index d018a5094916a..ebff4d323574c 100644 --- a/api_docs/kbn_core_fatal_errors_browser.mdx +++ b/api_docs/kbn_core_fatal_errors_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser title: "@kbn/core-fatal-errors-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser'] --- import kbnCoreFatalErrorsBrowserObj from './kbn_core_fatal_errors_browser.devdocs.json'; diff --git a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx index 179b02de80b0d..e415fe78a692b 100644 --- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx +++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks title: "@kbn/core-fatal-errors-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-fatal-errors-browser-mocks'] --- import kbnCoreFatalErrorsBrowserMocksObj from './kbn_core_fatal_errors_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser.mdx b/api_docs/kbn_core_http_browser.mdx index a93cbfa77ccd2..a92bde1080f3b 100644 --- a/api_docs/kbn_core_http_browser.mdx +++ b/api_docs/kbn_core_http_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser title: "@kbn/core-http-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser'] --- import kbnCoreHttpBrowserObj from './kbn_core_http_browser.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_internal.mdx b/api_docs/kbn_core_http_browser_internal.mdx index d0da7439de20c..06819cd43ad01 100644 --- a/api_docs/kbn_core_http_browser_internal.mdx +++ b/api_docs/kbn_core_http_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal title: "@kbn/core-http-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal'] --- import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index 66fff8819a731..1f5290d1ee5f8 100644 --- a/api_docs/kbn_core_http_browser_mocks.mdx +++ b/api_docs/kbn_core_http_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks title: "@kbn/core-http-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-mocks'] --- import kbnCoreHttpBrowserMocksObj from './kbn_core_http_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_common.mdx b/api_docs/kbn_core_http_common.mdx index 59e3c8228a8f7..43de58efa351f 100644 --- a/api_docs/kbn_core_http_common.mdx +++ b/api_docs/kbn_core_http_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common title: "@kbn/core-http-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common'] --- import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json'; diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index c30a85d63af01..922964eb080e4 100644 --- a/api_docs/kbn_core_http_context_server_mocks.mdx +++ b/api_docs/kbn_core_http_context_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks title: "@kbn/core-http-context-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-context-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-context-server-mocks'] --- import kbnCoreHttpContextServerMocksObj from './kbn_core_http_context_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_request_handler_context_server.mdx b/api_docs/kbn_core_http_request_handler_context_server.mdx index 1fd82b970a60a..06576835e342a 100644 --- a/api_docs/kbn_core_http_request_handler_context_server.mdx +++ b/api_docs/kbn_core_http_request_handler_context_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server title: "@kbn/core-http-request-handler-context-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-request-handler-context-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-request-handler-context-server'] --- import kbnCoreHttpRequestHandlerContextServerObj from './kbn_core_http_request_handler_context_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server.mdx b/api_docs/kbn_core_http_resources_server.mdx index d0b005dd9764e..b215d3ca721f2 100644 --- a/api_docs/kbn_core_http_resources_server.mdx +++ b/api_docs/kbn_core_http_resources_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server title: "@kbn/core-http-resources-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server'] --- import kbnCoreHttpResourcesServerObj from './kbn_core_http_resources_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_internal.mdx b/api_docs/kbn_core_http_resources_server_internal.mdx index 1293623fbe915..fe4bec67a807b 100644 --- a/api_docs/kbn_core_http_resources_server_internal.mdx +++ b/api_docs/kbn_core_http_resources_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal title: "@kbn/core-http-resources-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal'] --- import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index c74dbcd1e7a72..39eeaa408d5f7 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.mdx +++ b/api_docs/kbn_core_http_resources_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks title: "@kbn/core-http-resources-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-resources-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-mocks'] --- import kbnCoreHttpResourcesServerMocksObj from './kbn_core_http_resources_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index 6849af81def92..e2d71d4040118 100644 --- a/api_docs/kbn_core_http_router_server_internal.mdx +++ b/api_docs/kbn_core_http_router_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal title: "@kbn/core-http-router-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index 696f0c9915184..4b5dca9f38e6c 100644 --- a/api_docs/kbn_core_http_router_server_mocks.mdx +++ b/api_docs/kbn_core_http_router_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks title: "@kbn/core-http-router-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-router-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index a21966bd7c9be..6d94d7d191cb8 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -3503,10 +3503,6 @@ "plugin": "share", "path": "src/plugins/share/server/url_service/http/short_urls/register_resolve_route.ts" }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.ts" - }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/legacy/find.ts" @@ -3535,10 +3531,6 @@ "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/get_rule.ts" }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.ts" - }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/find_rules.ts" @@ -4755,22 +4747,6 @@ "plugin": "actions", "path": "x-pack/plugins/actions/server/routes/get.test.ts" }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.test.ts" - }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/find_rules.test.ts" @@ -5091,26 +5067,6 @@ "plugin": "actions", "path": "x-pack/plugins/actions/server/routes/legacy/list_action_types.test.ts" }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/legacy/aggregate.test.ts" - }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/legacy/find.test.ts" @@ -6063,7 +6019,7 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/aggregate_rules.ts" + "path": "x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.ts" }, { "plugin": "alerting", @@ -7557,6 +7513,22 @@ "plugin": "spaces", "path": "x-pack/plugins/spaces/server/routes/api/external/update_objects_spaces.test.ts" }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/aggregate/aggregate_rules_route.test.ts" + }, { "plugin": "alerting", "path": "x-pack/plugins/alerting/server/routes/rule/apis/bulk_edit/bulk_edit_rules_route.test.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 298398a7f5a54..8ec96c382187a 100644 --- a/api_docs/kbn_core_http_server.mdx +++ b/api_docs/kbn_core_http_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server title: "@kbn/core-http-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index 17d5d133c2463..19dc1690e9d0c 100644 --- a/api_docs/kbn_core_http_server_internal.mdx +++ b/api_docs/kbn_core_http_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal title: "@kbn/core-http-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index 51baa670cab43..9dc0714831e13 100644 --- a/api_docs/kbn_core_http_server_mocks.mdx +++ b/api_docs/kbn_core_http_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks title: "@kbn/core-http-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-http-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-mocks'] --- import kbnCoreHttpServerMocksObj from './kbn_core_http_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser.mdx b/api_docs/kbn_core_i18n_browser.mdx index 261e646001d24..5c825b987c1a3 100644 --- a/api_docs/kbn_core_i18n_browser.mdx +++ b/api_docs/kbn_core_i18n_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser title: "@kbn/core-i18n-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser'] --- import kbnCoreI18nBrowserObj from './kbn_core_i18n_browser.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_browser_mocks.mdx b/api_docs/kbn_core_i18n_browser_mocks.mdx index b7ee03010b886..612b8b78d1c84 100644 --- a/api_docs/kbn_core_i18n_browser_mocks.mdx +++ b/api_docs/kbn_core_i18n_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks title: "@kbn/core-i18n-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-browser-mocks'] --- import kbnCoreI18nBrowserMocksObj from './kbn_core_i18n_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server.mdx b/api_docs/kbn_core_i18n_server.mdx index e7f9952279cf4..2c7f357db8446 100644 --- a/api_docs/kbn_core_i18n_server.mdx +++ b/api_docs/kbn_core_i18n_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server title: "@kbn/core-i18n-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server'] --- import kbnCoreI18nServerObj from './kbn_core_i18n_server.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_internal.mdx b/api_docs/kbn_core_i18n_server_internal.mdx index e8228cb7d60e4..91de016d71e55 100644 --- a/api_docs/kbn_core_i18n_server_internal.mdx +++ b/api_docs/kbn_core_i18n_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal title: "@kbn/core-i18n-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-internal'] --- import kbnCoreI18nServerInternalObj from './kbn_core_i18n_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_i18n_server_mocks.mdx b/api_docs/kbn_core_i18n_server_mocks.mdx index 7191da5e32a3f..40ab1236d563b 100644 --- a/api_docs/kbn_core_i18n_server_mocks.mdx +++ b/api_docs/kbn_core_i18n_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks title: "@kbn/core-i18n-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-i18n-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-i18n-server-mocks'] --- import kbnCoreI18nServerMocksObj from './kbn_core_i18n_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx index c467d2d9db7b5..f7b584dd578ec 100644 --- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx +++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks title: "@kbn/core-injected-metadata-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-injected-metadata-browser-mocks'] --- import kbnCoreInjectedMetadataBrowserMocksObj from './kbn_core_injected_metadata_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_internal.mdx b/api_docs/kbn_core_integrations_browser_internal.mdx index 0b57a707a4340..2d24c69fb5964 100644 --- a/api_docs/kbn_core_integrations_browser_internal.mdx +++ b/api_docs/kbn_core_integrations_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal title: "@kbn/core-integrations-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal'] --- import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index 5204c013e6522..48e3b37019fef 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.mdx +++ b/api_docs/kbn_core_integrations_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks title: "@kbn/core-integrations-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-integrations-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index b622e4db7e5ca..8d0497d8798a2 100644 --- a/api_docs/kbn_core_lifecycle_browser.mdx +++ b/api_docs/kbn_core_lifecycle_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser title: "@kbn/core-lifecycle-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser'] --- import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index a0a5de8e7c817..1d4319832a67b 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks title: "@kbn/core-lifecycle-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser-mocks'] --- import kbnCoreLifecycleBrowserMocksObj from './kbn_core_lifecycle_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server.mdx b/api_docs/kbn_core_lifecycle_server.mdx index a2dbc53cfbbf5..72676c55f9de0 100644 --- a/api_docs/kbn_core_lifecycle_server.mdx +++ b/api_docs/kbn_core_lifecycle_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server title: "@kbn/core-lifecycle-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server'] --- import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index 914263632c7dc..7fb8322f1c113 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.mdx +++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks title: "@kbn/core-lifecycle-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-lifecycle-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server-mocks'] --- import kbnCoreLifecycleServerMocksObj from './kbn_core_lifecycle_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_browser_mocks.mdx b/api_docs/kbn_core_logging_browser_mocks.mdx index efb31ba738c76..861f6a7105d0f 100644 --- a/api_docs/kbn_core_logging_browser_mocks.mdx +++ b/api_docs/kbn_core_logging_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks title: "@kbn/core-logging-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-browser-mocks'] --- import kbnCoreLoggingBrowserMocksObj from './kbn_core_logging_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_logging_common_internal.mdx b/api_docs/kbn_core_logging_common_internal.mdx index 4c69941b73b1c..8a9e55b4c239b 100644 --- a/api_docs/kbn_core_logging_common_internal.mdx +++ b/api_docs/kbn_core_logging_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal title: "@kbn/core-logging-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-common-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-common-internal'] --- import kbnCoreLoggingCommonInternalObj from './kbn_core_logging_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server.mdx b/api_docs/kbn_core_logging_server.mdx index db2a6494b510b..c016211a86311 100644 --- a/api_docs/kbn_core_logging_server.mdx +++ b/api_docs/kbn_core_logging_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server title: "@kbn/core-logging-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server'] --- import kbnCoreLoggingServerObj from './kbn_core_logging_server.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_internal.mdx b/api_docs/kbn_core_logging_server_internal.mdx index ee9a5d7bec2af..9ba46a04012d1 100644 --- a/api_docs/kbn_core_logging_server_internal.mdx +++ b/api_docs/kbn_core_logging_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal title: "@kbn/core-logging-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-internal'] --- import kbnCoreLoggingServerInternalObj from './kbn_core_logging_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_logging_server_mocks.mdx b/api_docs/kbn_core_logging_server_mocks.mdx index d0925febd283e..ecb4cb8d4f351 100644 --- a/api_docs/kbn_core_logging_server_mocks.mdx +++ b/api_docs/kbn_core_logging_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks title: "@kbn/core-logging-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-logging-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-logging-server-mocks'] --- import kbnCoreLoggingServerMocksObj from './kbn_core_logging_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_internal.mdx b/api_docs/kbn_core_metrics_collectors_server_internal.mdx index 83081f4298ff7..86e499fcb447d 100644 --- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal title: "@kbn/core-metrics-collectors-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-internal'] --- import kbnCoreMetricsCollectorsServerInternalObj from './kbn_core_metrics_collectors_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx index 7e051793035e9..5d2cdb4812b6c 100644 --- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks title: "@kbn/core-metrics-collectors-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-collectors-server-mocks'] --- import kbnCoreMetricsCollectorsServerMocksObj from './kbn_core_metrics_collectors_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server.mdx b/api_docs/kbn_core_metrics_server.mdx index a4ca66623ec38..ae28af86c35e9 100644 --- a/api_docs/kbn_core_metrics_server.mdx +++ b/api_docs/kbn_core_metrics_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server title: "@kbn/core-metrics-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server'] --- import kbnCoreMetricsServerObj from './kbn_core_metrics_server.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_internal.mdx b/api_docs/kbn_core_metrics_server_internal.mdx index 8975c66a01909..c5f32fbca8a12 100644 --- a/api_docs/kbn_core_metrics_server_internal.mdx +++ b/api_docs/kbn_core_metrics_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal title: "@kbn/core-metrics-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-internal'] --- import kbnCoreMetricsServerInternalObj from './kbn_core_metrics_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_metrics_server_mocks.mdx b/api_docs/kbn_core_metrics_server_mocks.mdx index c75429f789019..69de437693602 100644 --- a/api_docs/kbn_core_metrics_server_mocks.mdx +++ b/api_docs/kbn_core_metrics_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks title: "@kbn/core-metrics-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-metrics-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-metrics-server-mocks'] --- import kbnCoreMetricsServerMocksObj from './kbn_core_metrics_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_mount_utils_browser.mdx b/api_docs/kbn_core_mount_utils_browser.mdx index 56985d429d014..288758d10ad4b 100644 --- a/api_docs/kbn_core_mount_utils_browser.mdx +++ b/api_docs/kbn_core_mount_utils_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser title: "@kbn/core-mount-utils-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-mount-utils-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-mount-utils-browser'] --- import kbnCoreMountUtilsBrowserObj from './kbn_core_mount_utils_browser.devdocs.json'; diff --git a/api_docs/kbn_core_node_server.mdx b/api_docs/kbn_core_node_server.mdx index 53c800bf77235..355d7f1afabf1 100644 --- a/api_docs/kbn_core_node_server.mdx +++ b/api_docs/kbn_core_node_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server title: "@kbn/core-node-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server'] --- import kbnCoreNodeServerObj from './kbn_core_node_server.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_internal.mdx b/api_docs/kbn_core_node_server_internal.mdx index 5b288cdc669fe..8581abd05cb29 100644 --- a/api_docs/kbn_core_node_server_internal.mdx +++ b/api_docs/kbn_core_node_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal title: "@kbn/core-node-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-internal'] --- import kbnCoreNodeServerInternalObj from './kbn_core_node_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_node_server_mocks.mdx b/api_docs/kbn_core_node_server_mocks.mdx index dac349ca70d9a..c6f4d248a8d1b 100644 --- a/api_docs/kbn_core_node_server_mocks.mdx +++ b/api_docs/kbn_core_node_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks title: "@kbn/core-node-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-node-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-node-server-mocks'] --- import kbnCoreNodeServerMocksObj from './kbn_core_node_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser.mdx b/api_docs/kbn_core_notifications_browser.mdx index 426e2d9d885e2..da5f9f71ca746 100644 --- a/api_docs/kbn_core_notifications_browser.mdx +++ b/api_docs/kbn_core_notifications_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser title: "@kbn/core-notifications-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser'] --- import kbnCoreNotificationsBrowserObj from './kbn_core_notifications_browser.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_internal.mdx b/api_docs/kbn_core_notifications_browser_internal.mdx index f1452901935d6..26c2b1b0f604f 100644 --- a/api_docs/kbn_core_notifications_browser_internal.mdx +++ b/api_docs/kbn_core_notifications_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal title: "@kbn/core-notifications-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-internal'] --- import kbnCoreNotificationsBrowserInternalObj from './kbn_core_notifications_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_notifications_browser_mocks.mdx b/api_docs/kbn_core_notifications_browser_mocks.mdx index 7b1a64a5f00bb..97f24aa48d451 100644 --- a/api_docs/kbn_core_notifications_browser_mocks.mdx +++ b/api_docs/kbn_core_notifications_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks title: "@kbn/core-notifications-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-notifications-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-notifications-browser-mocks'] --- import kbnCoreNotificationsBrowserMocksObj from './kbn_core_notifications_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser.mdx b/api_docs/kbn_core_overlays_browser.mdx index 1ed1d5c2a29f6..0c66228172675 100644 --- a/api_docs/kbn_core_overlays_browser.mdx +++ b/api_docs/kbn_core_overlays_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser title: "@kbn/core-overlays-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser'] --- import kbnCoreOverlaysBrowserObj from './kbn_core_overlays_browser.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_internal.mdx b/api_docs/kbn_core_overlays_browser_internal.mdx index f8c3ea677f86c..76112615dd00e 100644 --- a/api_docs/kbn_core_overlays_browser_internal.mdx +++ b/api_docs/kbn_core_overlays_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal title: "@kbn/core-overlays-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-internal'] --- import kbnCoreOverlaysBrowserInternalObj from './kbn_core_overlays_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_overlays_browser_mocks.mdx b/api_docs/kbn_core_overlays_browser_mocks.mdx index 30f96c1e4f43f..fb279abbea91b 100644 --- a/api_docs/kbn_core_overlays_browser_mocks.mdx +++ b/api_docs/kbn_core_overlays_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks title: "@kbn/core-overlays-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-overlays-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-overlays-browser-mocks'] --- import kbnCoreOverlaysBrowserMocksObj from './kbn_core_overlays_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser.mdx b/api_docs/kbn_core_plugins_browser.mdx index 3192af74101fc..f16ff316ec0c5 100644 --- a/api_docs/kbn_core_plugins_browser.mdx +++ b/api_docs/kbn_core_plugins_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser title: "@kbn/core-plugins-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser'] --- import kbnCorePluginsBrowserObj from './kbn_core_plugins_browser.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_browser_mocks.mdx b/api_docs/kbn_core_plugins_browser_mocks.mdx index 572c6b1634a23..986f31e68a09e 100644 --- a/api_docs/kbn_core_plugins_browser_mocks.mdx +++ b/api_docs/kbn_core_plugins_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks title: "@kbn/core-plugins-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks'] --- import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx index a9822c3d4077d..6607d83fb7c7a 100644 --- a/api_docs/kbn_core_plugins_server.mdx +++ b/api_docs/kbn_core_plugins_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server title: "@kbn/core-plugins-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server'] --- import kbnCorePluginsServerObj from './kbn_core_plugins_server.devdocs.json'; diff --git a/api_docs/kbn_core_plugins_server_mocks.mdx b/api_docs/kbn_core_plugins_server_mocks.mdx index a7daae67a7a2d..19efec4166740 100644 --- a/api_docs/kbn_core_plugins_server_mocks.mdx +++ b/api_docs/kbn_core_plugins_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks title: "@kbn/core-plugins-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-plugins-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-server-mocks'] --- import kbnCorePluginsServerMocksObj from './kbn_core_plugins_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server.mdx b/api_docs/kbn_core_preboot_server.mdx index 68f95feb68b9f..4e9995d3aad0e 100644 --- a/api_docs/kbn_core_preboot_server.mdx +++ b/api_docs/kbn_core_preboot_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server title: "@kbn/core-preboot-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server'] --- import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json'; diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index dacfbf9915c25..97d8457628de1 100644 --- a/api_docs/kbn_core_preboot_server_mocks.mdx +++ b/api_docs/kbn_core_preboot_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks title: "@kbn/core-preboot-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-preboot-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server-mocks'] --- import kbnCorePrebootServerMocksObj from './kbn_core_preboot_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_browser_mocks.mdx b/api_docs/kbn_core_rendering_browser_mocks.mdx index d286e2d69b056..e911b700e7924 100644 --- a/api_docs/kbn_core_rendering_browser_mocks.mdx +++ b/api_docs/kbn_core_rendering_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks title: "@kbn/core-rendering-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-browser-mocks'] --- import kbnCoreRenderingBrowserMocksObj from './kbn_core_rendering_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_internal.mdx b/api_docs/kbn_core_rendering_server_internal.mdx index 5a7b7cb7a1fe1..0e96cb8844586 100644 --- a/api_docs/kbn_core_rendering_server_internal.mdx +++ b/api_docs/kbn_core_rendering_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal title: "@kbn/core-rendering-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-internal'] --- import kbnCoreRenderingServerInternalObj from './kbn_core_rendering_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_rendering_server_mocks.mdx b/api_docs/kbn_core_rendering_server_mocks.mdx index 3359aaded3d2d..552626b58b527 100644 --- a/api_docs/kbn_core_rendering_server_mocks.mdx +++ b/api_docs/kbn_core_rendering_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks title: "@kbn/core-rendering-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-rendering-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-rendering-server-mocks'] --- import kbnCoreRenderingServerMocksObj from './kbn_core_rendering_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_root_server_internal.mdx b/api_docs/kbn_core_root_server_internal.mdx index 4863232770f61..ca8a7881d0c9c 100644 --- a/api_docs/kbn_core_root_server_internal.mdx +++ b/api_docs/kbn_core_root_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal title: "@kbn/core-root-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-root-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json index 94d374afbba24..a1ce0b5950132 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_browser.devdocs.json @@ -3623,7 +3623,7 @@ "signature": [ "{ type: string | string[]; search?: string | undefined; page?: number | undefined; filter?: any; aggs?: Record<string, ", "AggregationsAggregationContainer", - "> | undefined; namespaces?: string[] | undefined; perPage?: number | undefined; fields?: string[] | undefined; sortField?: string | undefined; preference?: string | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; searchFields?: string[] | undefined; hasReference?: ", + "> | undefined; namespaces?: string[] | undefined; perPage?: number | undefined; fields?: string[] | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; searchFields?: string[] | undefined; hasReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", @@ -3639,7 +3639,7 @@ "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, - "[] | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", + "[] | undefined; sortField?: string | undefined; preference?: string | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 5a2d7db857479..f6a23787c577d 100644 --- a/api_docs/kbn_core_saved_objects_api_browser.mdx +++ b/api_docs/kbn_core_saved_objects_api_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser title: "@kbn/core-saved-objects-api-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser'] --- import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server.devdocs.json b/api_docs/kbn_core_saved_objects_api_server.devdocs.json index 89f29c9e91e81..dbbf19f7fb5e7 100644 --- a/api_docs/kbn_core_saved_objects_api_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_server.devdocs.json @@ -8233,9 +8233,7 @@ "signature": [ "{ type: string | string[]; search?: string | undefined; filter?: any; aggs?: Record<string, ", "AggregationsAggregationContainer", - "> | undefined; namespaces?: string[] | undefined; perPage?: number | undefined; fields?: string[] | undefined; sortField?: string | undefined; preference?: string | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; searchFields?: string[] | undefined; sortOrder?: ", - "SortOrder", - " | undefined; rootSearchFields?: string[] | undefined; hasReference?: ", + "> | undefined; namespaces?: string[] | undefined; perPage?: number | undefined; fields?: string[] | undefined; defaultSearchOperator?: \"AND\" | \"OR\" | undefined; searchFields?: string[] | undefined; hasReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", @@ -8251,7 +8249,9 @@ "section": "def-common.SavedObjectsFindOptionsReference", "text": "SavedObjectsFindOptionsReference" }, - "[] | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", + "[] | undefined; sortField?: string | undefined; preference?: string | undefined; sortOrder?: ", + "SortOrder", + " | undefined; rootSearchFields?: string[] | undefined; hasReferenceOperator?: \"AND\" | \"OR\" | undefined; hasNoReference?: ", { "pluginId": "@kbn/core-saved-objects-api-server", "scope": "common", diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 39530ce692860..9ad814b6efaaf 100644 --- a/api_docs/kbn_core_saved_objects_api_server.mdx +++ b/api_docs/kbn_core_saved_objects_api_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server title: "@kbn/core-saved-objects-api-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server'] --- import kbnCoreSavedObjectsApiServerObj from './kbn_core_saved_objects_api_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx index 24f0dea6e5c04..aeeced9f30b20 100644 --- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks title: "@kbn/core-saved-objects-api-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index 7d22f6aa11a17..40b0395e4ac92 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal title: "@kbn/core-saved-objects-base-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index 8c67cb966603a..2be3981038e04 100644 --- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks title: "@kbn/core-saved-objects-base-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-mocks'] --- import kbnCoreSavedObjectsBaseServerMocksObj from './kbn_core_saved_objects_base_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser.mdx b/api_docs/kbn_core_saved_objects_browser.mdx index e971f33061cd7..637fbfb063554 100644 --- a/api_docs/kbn_core_saved_objects_browser.mdx +++ b/api_docs/kbn_core_saved_objects_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser title: "@kbn/core-saved-objects-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser'] --- import kbnCoreSavedObjectsBrowserObj from './kbn_core_saved_objects_browser.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_internal.mdx b/api_docs/kbn_core_saved_objects_browser_internal.mdx index ee3ac1456960e..3e072afaa5ff4 100644 --- a/api_docs/kbn_core_saved_objects_browser_internal.mdx +++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal title: "@kbn/core-saved-objects-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-internal'] --- import kbnCoreSavedObjectsBrowserInternalObj from './kbn_core_saved_objects_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_browser_mocks.mdx b/api_docs/kbn_core_saved_objects_browser_mocks.mdx index 72855ce3e1eff..e809a6b97d6e7 100644 --- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks title: "@kbn/core-saved-objects-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 79c45d96b59a4..39e4d223fd6ff 100644 --- a/api_docs/kbn_core_saved_objects_common.mdx +++ b/api_docs/kbn_core_saved_objects_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common title: "@kbn/core-saved-objects-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-common'] --- import kbnCoreSavedObjectsCommonObj from './kbn_core_saved_objects_common.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx index d4a4fe336bd23..0fe0a3502539d 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal title: "@kbn/core-saved-objects-import-export-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-internal'] --- import kbnCoreSavedObjectsImportExportServerInternalObj from './kbn_core_saved_objects_import_export_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx index a0fda632df250..ff2eda298e786 100644 --- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks title: "@kbn/core-saved-objects-import-export-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-import-export-server-mocks'] --- import kbnCoreSavedObjectsImportExportServerMocksObj from './kbn_core_saved_objects_import_export_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx index 32b422843d7e9..8b4711d113ce3 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal title: "@kbn/core-saved-objects-migration-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-internal'] --- import kbnCoreSavedObjectsMigrationServerInternalObj from './kbn_core_saved_objects_migration_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx index 212909e4659f4..7c0ce218afb7c 100644 --- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks title: "@kbn/core-saved-objects-migration-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks'] --- import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index a7150e07904cb..b77c5eb8a5ea3 100644 --- a/api_docs/kbn_core_saved_objects_server.mdx +++ b/api_docs/kbn_core_saved_objects_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server title: "@kbn/core-saved-objects-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server'] --- import kbnCoreSavedObjectsServerObj from './kbn_core_saved_objects_server.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_internal.mdx b/api_docs/kbn_core_saved_objects_server_internal.mdx index 799789f205b97..a102a0f5e92df 100644 --- a/api_docs/kbn_core_saved_objects_server_internal.mdx +++ b/api_docs/kbn_core_saved_objects_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal title: "@kbn/core-saved-objects-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-internal'] --- import kbnCoreSavedObjectsServerInternalObj from './kbn_core_saved_objects_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_server_mocks.mdx b/api_docs/kbn_core_saved_objects_server_mocks.mdx index 2b463d9af2251..26f641d4ff62d 100644 --- a/api_docs/kbn_core_saved_objects_server_mocks.mdx +++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks title: "@kbn/core-saved-objects-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-server-mocks'] --- import kbnCoreSavedObjectsServerMocksObj from './kbn_core_saved_objects_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_utils_server.mdx b/api_docs/kbn_core_saved_objects_utils_server.mdx index 8eac443364007..a28f10d601d63 100644 --- a/api_docs/kbn_core_saved_objects_utils_server.mdx +++ b/api_docs/kbn_core_saved_objects_utils_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server title: "@kbn/core-saved-objects-utils-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-saved-objects-utils-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-utils-server'] --- import kbnCoreSavedObjectsUtilsServerObj from './kbn_core_saved_objects_utils_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx index a8af77f4e07dd..5a970081ce32f 100644 --- a/api_docs/kbn_core_status_common.mdx +++ b/api_docs/kbn_core_status_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common title: "@kbn/core-status-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common'] --- import kbnCoreStatusCommonObj from './kbn_core_status_common.devdocs.json'; diff --git a/api_docs/kbn_core_status_common_internal.mdx b/api_docs/kbn_core_status_common_internal.mdx index 97e05f1f56e9d..42755e7ee1173 100644 --- a/api_docs/kbn_core_status_common_internal.mdx +++ b/api_docs/kbn_core_status_common_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal title: "@kbn/core-status-common-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-common-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-common-internal'] --- import kbnCoreStatusCommonInternalObj from './kbn_core_status_common_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server.mdx b/api_docs/kbn_core_status_server.mdx index 2fab3b6865ee1..f794ca5f38a4d 100644 --- a/api_docs/kbn_core_status_server.mdx +++ b/api_docs/kbn_core_status_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server title: "@kbn/core-status-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server'] --- import kbnCoreStatusServerObj from './kbn_core_status_server.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_internal.mdx b/api_docs/kbn_core_status_server_internal.mdx index 82caac3b7207d..7c204e1909f38 100644 --- a/api_docs/kbn_core_status_server_internal.mdx +++ b/api_docs/kbn_core_status_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal title: "@kbn/core-status-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-internal'] --- import kbnCoreStatusServerInternalObj from './kbn_core_status_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_status_server_mocks.mdx b/api_docs/kbn_core_status_server_mocks.mdx index 0ed44aa66d3a0..33bb70518f366 100644 --- a/api_docs/kbn_core_status_server_mocks.mdx +++ b/api_docs/kbn_core_status_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks title: "@kbn/core-status-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-status-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-status-server-mocks'] --- import kbnCoreStatusServerMocksObj from './kbn_core_status_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx index c6d8bc542ae7e..79358ef138073 100644 --- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx +++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters title: "@kbn/core-test-helpers-deprecations-getters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters'] --- import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx index 4b781320cf1fe..45853ce6dd189 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser title: "@kbn/core-test-helpers-http-setup-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-http-setup-browser'] --- import kbnCoreTestHelpersHttpSetupBrowserObj from './kbn_core_test_helpers_http_setup_browser.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_kbn_server.mdx b/api_docs/kbn_core_test_helpers_kbn_server.mdx index 5672f3d52aa9b..7a2fdc5286d0e 100644 --- a/api_docs/kbn_core_test_helpers_kbn_server.mdx +++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server title: "@kbn/core-test-helpers-kbn-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-kbn-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server'] --- import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx index 258647b6c3505..56209c7df01d9 100644 --- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx +++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer title: "@kbn/core-test-helpers-so-type-serializer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-so-type-serializer'] --- import kbnCoreTestHelpersSoTypeSerializerObj from './kbn_core_test_helpers_so_type_serializer.devdocs.json'; diff --git a/api_docs/kbn_core_test_helpers_test_utils.mdx b/api_docs/kbn_core_test_helpers_test_utils.mdx index b29ba5eb5e17c..36d69d66ff97d 100644 --- a/api_docs/kbn_core_test_helpers_test_utils.mdx +++ b/api_docs/kbn_core_test_helpers_test_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils title: "@kbn/core-test-helpers-test-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-test-helpers-test-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-test-utils'] --- import kbnCoreTestHelpersTestUtilsObj from './kbn_core_test_helpers_test_utils.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser.mdx b/api_docs/kbn_core_theme_browser.mdx index 3af24d09e0d5f..05d3b2fa30e9e 100644 --- a/api_docs/kbn_core_theme_browser.mdx +++ b/api_docs/kbn_core_theme_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser title: "@kbn/core-theme-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser'] --- import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json'; diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx index 12e8d0b8989a6..376eb06a1cb1f 100644 --- a/api_docs/kbn_core_theme_browser_mocks.mdx +++ b/api_docs/kbn_core_theme_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks title: "@kbn/core-theme-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-theme-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser-mocks'] --- import kbnCoreThemeBrowserMocksObj from './kbn_core_theme_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser.mdx b/api_docs/kbn_core_ui_settings_browser.mdx index b46b10d809e39..ee31edd23398b 100644 --- a/api_docs/kbn_core_ui_settings_browser.mdx +++ b/api_docs/kbn_core_ui_settings_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser title: "@kbn/core-ui-settings-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser'] --- import kbnCoreUiSettingsBrowserObj from './kbn_core_ui_settings_browser.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_internal.mdx b/api_docs/kbn_core_ui_settings_browser_internal.mdx index cb27068c19def..6c528504f7af7 100644 --- a/api_docs/kbn_core_ui_settings_browser_internal.mdx +++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal title: "@kbn/core-ui-settings-browser-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-internal'] --- import kbnCoreUiSettingsBrowserInternalObj from './kbn_core_ui_settings_browser_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_browser_mocks.mdx b/api_docs/kbn_core_ui_settings_browser_mocks.mdx index dae886fc71071..63d2fc836bfad 100644 --- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks title: "@kbn/core-ui-settings-browser-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-browser-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-browser-mocks'] --- import kbnCoreUiSettingsBrowserMocksObj from './kbn_core_ui_settings_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_common.mdx b/api_docs/kbn_core_ui_settings_common.mdx index c24531d244a0e..a9043500d462e 100644 --- a/api_docs/kbn_core_ui_settings_common.mdx +++ b/api_docs/kbn_core_ui_settings_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common title: "@kbn/core-ui-settings-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-common'] --- import kbnCoreUiSettingsCommonObj from './kbn_core_ui_settings_common.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server.mdx b/api_docs/kbn_core_ui_settings_server.mdx index a7656c32d5db0..e590025514de2 100644 --- a/api_docs/kbn_core_ui_settings_server.mdx +++ b/api_docs/kbn_core_ui_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server title: "@kbn/core-ui-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server'] --- import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 99c46bf0e0f8e..36812d6a493b9 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.mdx +++ b/api_docs/kbn_core_ui_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal title: "@kbn/core-ui-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-internal'] --- import kbnCoreUiSettingsServerInternalObj from './kbn_core_ui_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_ui_settings_server_mocks.mdx b/api_docs/kbn_core_ui_settings_server_mocks.mdx index b11a59c15233f..423321b4d9cf7 100644 --- a/api_docs/kbn_core_ui_settings_server_mocks.mdx +++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks title: "@kbn/core-ui-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-ui-settings-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server-mocks'] --- import kbnCoreUiSettingsServerMocksObj from './kbn_core_ui_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server.mdx b/api_docs/kbn_core_usage_data_server.mdx index 05b7761d655a8..15cafc88bad3d 100644 --- a/api_docs/kbn_core_usage_data_server.mdx +++ b/api_docs/kbn_core_usage_data_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server title: "@kbn/core-usage-data-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server'] --- import kbnCoreUsageDataServerObj from './kbn_core_usage_data_server.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_internal.mdx b/api_docs/kbn_core_usage_data_server_internal.mdx index 98a3e7c86f0fc..425c2438000c1 100644 --- a/api_docs/kbn_core_usage_data_server_internal.mdx +++ b/api_docs/kbn_core_usage_data_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal title: "@kbn/core-usage-data-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal'] --- import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index c43e35cb935bb..f8751bd57a75c 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.mdx +++ b/api_docs/kbn_core_usage_data_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks title: "@kbn/core-usage-data-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-usage-data-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 736a8ca1281a3..12cc17782ae7a 100644 --- a/api_docs/kbn_core_user_settings_server.mdx +++ b/api_docs/kbn_core_user_settings_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server title: "@kbn/core-user-settings-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 5ec810328d0cb..661bd332ec78a 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 1aaa32301de89..ae6b13fc7e38e 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.mdx +++ b/api_docs/kbn_core_user_settings_server_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks title: "@kbn/core-user-settings-server-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-mocks'] --- import kbnCoreUserSettingsServerMocksObj from './kbn_core_user_settings_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_crypto.mdx b/api_docs/kbn_crypto.mdx index 88e83bf782815..b094e73bcb24b 100644 --- a/api_docs/kbn_crypto.mdx +++ b/api_docs/kbn_crypto.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto title: "@kbn/crypto" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto'] --- import kbnCryptoObj from './kbn_crypto.devdocs.json'; diff --git a/api_docs/kbn_crypto_browser.mdx b/api_docs/kbn_crypto_browser.mdx index 900b43cb49882..248a226f0bd9c 100644 --- a/api_docs/kbn_crypto_browser.mdx +++ b/api_docs/kbn_crypto_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser title: "@kbn/crypto-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/crypto-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser'] --- import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json'; diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx index 1007fc2590a40..9d8d42d472053 100644 --- a/api_docs/kbn_custom_integrations.mdx +++ b/api_docs/kbn_custom_integrations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations title: "@kbn/custom-integrations" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/custom-integrations plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations'] --- import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json'; diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx index ef22f71dada8c..3929f33faf962 100644 --- a/api_docs/kbn_cypress_config.mdx +++ b/api_docs/kbn_cypress_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config title: "@kbn/cypress-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/cypress-config plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index b8406bfeaf364..1667ae19abdb6 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 17344e3694c95..c5504eb349e64 100644 --- a/api_docs/kbn_datemath.mdx +++ b/api_docs/kbn_datemath.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath title: "@kbn/datemath" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/datemath plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index 38b0b339633da..f75a6e249d222 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index 9b2cd1dd73e46..a2352e5d61cc9 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index e23a5569093cd..2fbebca60bdd2 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index d26d4bdd1015c..18ea5aecf39f2 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index 13a36afd533b6..7d8e9c014e707 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 2534468bae29b..483827dca75c4 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index 2b06c2bb2042a..18e86d9d23d79 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index d7fc0710f0c04..f3fc09a1faf2f 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 9b0714523566e..be985102ae65d 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 1be19bb4c38ea..de372ebf81d0c 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 47c5d25300748..f7d592bf82590 100644 --- a/api_docs/kbn_dev_cli_errors.mdx +++ b/api_docs/kbn_dev_cli_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors title: "@kbn/dev-cli-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-errors plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-errors'] --- import kbnDevCliErrorsObj from './kbn_dev_cli_errors.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_runner.mdx b/api_docs/kbn_dev_cli_runner.mdx index 043cd313f02ae..bdeb39dfad822 100644 --- a/api_docs/kbn_dev_cli_runner.mdx +++ b/api_docs/kbn_dev_cli_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner title: "@kbn/dev-cli-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-cli-runner plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-cli-runner'] --- import kbnDevCliRunnerObj from './kbn_dev_cli_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_proc_runner.mdx b/api_docs/kbn_dev_proc_runner.mdx index 95d2fd6e024b9..6e0826a5972d3 100644 --- a/api_docs/kbn_dev_proc_runner.mdx +++ b/api_docs/kbn_dev_proc_runner.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner title: "@kbn/dev-proc-runner" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-proc-runner plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-proc-runner'] --- import kbnDevProcRunnerObj from './kbn_dev_proc_runner.devdocs.json'; diff --git a/api_docs/kbn_dev_utils.mdx b/api_docs/kbn_dev_utils.mdx index 753c14572dfc4..89fc182fe26c9 100644 --- a/api_docs/kbn_dev_utils.mdx +++ b/api_docs/kbn_dev_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils title: "@kbn/dev-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dev-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils'] --- import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json'; diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx index ecca452457fea..c8c49be1e70b2 100644 --- a/api_docs/kbn_discover_utils.mdx +++ b/api_docs/kbn_discover_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils title: "@kbn/discover-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/discover-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index edec1337ab437..24f3ce32cc714 100644 --- a/api_docs/kbn_doc_links.mdx +++ b/api_docs/kbn_doc_links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links title: "@kbn/doc-links" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/doc-links plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/doc-links'] --- import kbnDocLinksObj from './kbn_doc_links.devdocs.json'; diff --git a/api_docs/kbn_docs_utils.mdx b/api_docs/kbn_docs_utils.mdx index 3be23a991425c..233c01b744263 100644 --- a/api_docs/kbn_docs_utils.mdx +++ b/api_docs/kbn_docs_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils title: "@kbn/docs-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/docs-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/docs-utils'] --- import kbnDocsUtilsObj from './kbn_docs_utils.devdocs.json'; diff --git a/api_docs/kbn_dom_drag_drop.mdx b/api_docs/kbn_dom_drag_drop.mdx index 02143a5104363..50dced004c5a9 100644 --- a/api_docs/kbn_dom_drag_drop.mdx +++ b/api_docs/kbn_dom_drag_drop.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop title: "@kbn/dom-drag-drop" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/dom-drag-drop plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dom-drag-drop'] --- import kbnDomDragDropObj from './kbn_dom_drag_drop.devdocs.json'; diff --git a/api_docs/kbn_ebt_tools.mdx b/api_docs/kbn_ebt_tools.mdx index 75ecd6c5cf4a9..b1f0a1eab7b47 100644 --- a/api_docs/kbn_ebt_tools.mdx +++ b/api_docs/kbn_ebt_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools title: "@kbn/ebt-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ebt-tools plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools'] --- import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json'; diff --git a/api_docs/kbn_ecs.mdx b/api_docs/kbn_ecs.mdx index 1f2687ca6997e..9ec6f327a04c8 100644 --- a/api_docs/kbn_ecs.mdx +++ b/api_docs/kbn_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs title: "@kbn/ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs'] --- import kbnEcsObj from './kbn_ecs.devdocs.json'; diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx index 63be0ad1b7d9f..ccd7b70fbfd78 100644 --- a/api_docs/kbn_ecs_data_quality_dashboard.mdx +++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard title: "@kbn/ecs-data-quality-dashboard" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ecs-data-quality-dashboard plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.devdocs.json b/api_docs/kbn_elastic_assistant.devdocs.json index ba770f780e3fd..55e63a060a97f 100644 --- a/api_docs/kbn_elastic_assistant.devdocs.json +++ b/api_docs/kbn_elastic_assistant.devdocs.json @@ -127,7 +127,7 @@ "\nModal container for Elastic AI Assistant conversations, receiving the page contents as context, plus whatever\ncomponent currently has focus and any specific context it may provide through the SAssInterface." ], "signature": [ - "React.NamedExoticComponent<Props>" + "React.NamedExoticComponent<unknown> & { readonly type: () => JSX.Element; }" ], "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx", "deprecated": false, @@ -260,6 +260,24 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.useAssistantContext", + "type": "Function", + "tags": [], + "label": "useAssistantContext", + "description": [], + "signature": [ + "() => ", + "UseAssistantContext" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/elastic-assistant", "id": "def-public.useAssistantOverlay", diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index ed958ef6c2198..6a10ddd8da277 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-solution](https://github.com/orgs/elastic/teams/secur | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 84 | 0 | 64 | 5 | +| 85 | 0 | 65 | 6 | ## Client diff --git a/api_docs/kbn_es.devdocs.json b/api_docs/kbn_es.devdocs.json index a8542adedc15a..4d53e7ff40952 100644 --- a/api_docs/kbn_es.devdocs.json +++ b/api_docs/kbn_es.devdocs.json @@ -542,55 +542,6 @@ "children": [], "returnComment": [] }, - { - "parentPluginId": "@kbn/es", - "id": "def-common.Cluster.waitForClusterReady", - "type": "Function", - "tags": [], - "label": "waitForClusterReady", - "description": [], - "signature": [ - "(client: ", - "default", - ", readyTimeout?: number) => Promise<void>" - ], - "path": "packages/kbn-es/src/cluster.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/es", - "id": "def-common.Cluster.waitForClusterReady.$1", - "type": "Object", - "tags": [], - "label": "client", - "description": [], - "signature": [ - "default" - ], - "path": "packages/kbn-es/src/cluster.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/es", - "id": "def-common.Cluster.waitForClusterReady.$2", - "type": "number", - "tags": [], - "label": "readyTimeout", - "description": [], - "signature": [ - "number" - ], - "path": "packages/kbn-es/src/cluster.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, { "parentPluginId": "@kbn/es", "id": "def-common.Cluster.runServerless", diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index 3149649da72e8..f91e6a4442467 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kiban | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 46 | 0 | 33 | 7 | +| 43 | 0 | 30 | 7 | ## Common diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index 4e1af85d1a805..3e919b154baca 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 43ff688e3bc5c..1adf1a2c96683 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 9523f191412e4..ac32cecd084a8 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 9eec8a4311789..19a81540e044b 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 17fbcc350321a..4c339d9ec7f4d 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index a3da0c0af61dc..1366ec91c8d73 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index f9b6795731703..42ca4491446cf 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index 661fa78f6edd3..e395bae80a5ab 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index 0ba1019cc85a5..f484014e73bad 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 8a350c19db31d..2d8ad34b484d1 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 4d44fd3ed2377..f412737eea549 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 521831ed4f87f..d0ebd4b157581 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 32e35f6c68937..c57e33533d663 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 0f0675b7e72aa..4823f0ed0b713 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_generate_csv_types.mdx b/api_docs/kbn_generate_csv_types.mdx index ad504d5ef9879..a189851343082 100644 --- a/api_docs/kbn_generate_csv_types.mdx +++ b/api_docs/kbn_generate_csv_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv-types title: "@kbn/generate-csv-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv-types'] --- import kbnGenerateCsvTypesObj from './kbn_generate_csv_types.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index d7ff6d91a93e1..107637aab8eb5 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 1ae352ca4528a..1784fb60046ac 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index 2fcd643d290eb..1b4b8ae7740fe 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index 9d42b1ed35d60..ed2691e4aa219 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 9a21e2763d6ae..a20b965a5fa4b 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index d46698414584f..8cff797e35710 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index b23047fdb0988..a982c1523cd71 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 84164e1c1021a..842f9b82c70ff 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index 03ee64eadafd9..05a2c43d955bf 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 0dfcbf4a6d448..d647235430309 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index dc69d4fe7e3d3..53af3fe2c6686 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index 980c4e4602d5f..867d5e04f6976 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 40bea63cfb251..54fed99157f82 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 8922002ca31d2..1d17472e2b2de 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index 1fd48308f8597..e3ad35e0c32ec 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index 14efba7045ebf..117addf9c4509 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index 38ed5fa7534a9..7f4fa2cae2d2e 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index ba74e3f5d29c4..54accdcc8f216 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 44fc76a2206a1..94242e66e07d0 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index 4261974ca6180..418a01e0b65f2 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index b70b0c568806e..f9be814f55f4d 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 486f24f9706ee..15511146fd4bc 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index e86271e016cd4..7b6882fd90cc5 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index eac7cac6eda48..dc7efc4ef5195 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index 76004044100b4..53e1fbd4325e3 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index ae544efb2c8dc..e17636728bfa9 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 84b6ad70d01a3..5c593b65105ae 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index d99f7f91b01ee..fb745f85cc677 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index eee12d35d8594..53c427431d7d7 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index cbd41ac3a1787..0e5dedf91d13d 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index b6962455b897e..860b4bc0b7e53 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index c7d8b47e11d9c..941ac10d555c3 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index e61753b7c22f4..c0d4448688d9a 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index de021f02fc0f5..0d0549b29d72a 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index dc4bfeedc783e..c2ce535b93dcb 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index c16d1e942bd0a..bdff515c530f6 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index b03e9c9a50664..b172fd364b5b8 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index d81a340525546..bcebb2748f4d2 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index ce66be19e0779..8487ebf915f57 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index ab86773a41e73..b9cdd3d884e0e 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index a1d612ccf01d7..26a6b7a3ab494 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index e4ae50a5cc6af..bb9b3bf26df8b 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 807cab5731d13..778593aa1e103 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 6e4a983975f49..416d3beee6ef1 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index 37c7405981d6d..dede765256926 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index add1b5059ef85..198f3174b44ad 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 01878ec950d56..495215972834a 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index a5745e288a26f..99366c59d9583 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 1eab46981de16..2944a73a2979a 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 08d14a07501f7..152367e2df249 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index fbe70cd84d797..23d7cc3c93d54 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index d86ec5423e505..5dd6f56271d67 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index 64f146d953e4f..eebe6693444ce 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index 1b68b5a668931..380eeab64892a 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index ba8fadbd9f1d9..09be0013a7ffb 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index bedc7d19b1f82..772deac325783 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index a660a81c7f964..adb782a15e017 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index f7c61706a1f21..be918ae0ef203 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index 7d41c629bcd52..e1e5c39bee302 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index 4d90531ba9d5e..5e1510c1be06d 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index 05f4a33b937b3..e03a220ae16f4 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index a241d0e6c04ce..b707e25fe2ae1 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index 14208a7e8e820..4869c260a698a 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index 4915ab0f1f4fd..ef740256de675 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index 8ddfb291e3b6a..f5cb34db2e81f 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 4bcb5ed044922..da049961904fe 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index b1cd27a8dfd4d..bb4fedbc435a5 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index eabdf6c60fcbb..a0a88215fca1b 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index dc72e40f42eb3..d69b7f0d8b076 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 67d4c1be49a5c..629e919360762 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index f976d9614b830..1626ec84589a8 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 6438631017692..c5c7559ff6cea 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 77919a302b08e..754f944c3b44f 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index 3bcc2a6abcf1e..64bef85b0702c 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index b8d4c507e5426..9edca99aedd89 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 2d7d1f6344944..a2ca22a8b14ba 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index 4f18787a375af..d55c871584fa1 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 414bcf7af9472..b1b6d80b33f6e 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index 73169eb112e5c..0dcab881957c8 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index a20ebc06533ba..73da840a0bb5b 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 4cd9860a8c016..393b5aa66483c 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 6cd98d818f5bd..03aed8608981e 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index 2b57cb9a42b07..8359b86e68d58 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index c375602c225f9..f3ac4f6f4d9b8 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 8af9361955b31..6db17b090a7d6 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index 107b246b3c767..a9525c85ccb85 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index b2a4867f57cfc..bea3e2f823192 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 01384ad40284d..bc0813e00ea69 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 2a3f0ac5656d6..9578f8996684d 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index a1ef84571847b..fffe4c4c2368b 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 485eeeffe50a0..ebe85f5b8e7d2 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 30eef9a93add6..de77dcc703055 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 11e350f034e92..f4c2b71c07404 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index f3ec6cefb8679..47a7ff2e7cf0f 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index 00fd04613319d..61aa483afbb8b 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 0fd59393621be..b56a0820add3b 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 9e7271703ea23..f559d070d8821 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index ba690c22bf736..3e310b0b03354 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index 2c850ce03d7ce..df3315dd7e661 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index 782ea1a5bac52..5ecd1fafa84f3 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index 937a5512dcff5..3f45fa8450fbf 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index c4906f5f860cf..eae71ee895a9f 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index 956c6c1c78f7b..1b201de1dda42 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index 8d49fe6e71253..44c4b1ae55ce9 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index ae6f1af0c1eb3..06cb3913daf6e 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index 9d3297430935d..237be130f7ceb 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index 490950e341549..dce475277263a 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 4d35f1dec4756..024737df6aaad 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 8a5a155b864b5..194b6f6426968 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 02e15e94dacb8..69636b6f6870e 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index f1ccb53f39076..ae63f8e47041d 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index b1ed70cb6fd59..86aa8a53fd835 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index 3457a99184c02..66fa45e5eced5 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index b72aa38d2025b..271554d30b7dc 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index f37218d128bda..bf5a5fc0fd53c 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 0002623242b1c..02f13382c8da0 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx index 8de39326b0045..c294f23df3b67 100644 --- a/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx +++ b/api_docs/kbn_shared_ux_avatar_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-user-profile-components title: "@kbn/shared-ux-avatar-user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-user-profile-components plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-user-profile-components'] --- import kbnSharedUxAvatarUserProfileComponentsObj from './kbn_shared_ux_avatar_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index c1858a7d9c7e0..17ce9abfc680f 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx index 189f2bf682c33..7b8048e977245 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen-mocks title: "@kbn/shared-ux-button-exit-full-screen-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen-mocks'] --- import kbnSharedUxButtonExitFullScreenMocksObj from './kbn_shared_ux_button_exit_full_screen_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index 450206107cf47..c594f435d4a2d 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index 4516d012e01fc..459d446f92635 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index 63f1b68e93502..aa68eb43b7836 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 775e32ac1d591..fc69ce015d229 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index b4e20b518fd71..26f54352dbca0 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 3cdb4dd19a3d1..3aa3787414e38 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index 458b29e3f52b9..f0e7dfa55ad61 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index 4094350d13a03..af4539486b4eb 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index af690c3cb1fa7..c9babd11b9d0d 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 4c2cb02409dc6..6be4dca995682 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 3db9d6b75b281..70467b474450c 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index 03df6cec2614c..b8255c21a9de2 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 8e111b5b1d767..c129795935b7f 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index 0e54b46146687..e7b4b53ad868a 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index abe96717bfefe..d44547ba0e0ba 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index cbff4ea009ab0..25b5a5ff5709e 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index 8ae4faa00dd01..f128d64d3811b 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index 360a418e01a07..b2fb925750ae1 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 8f069f7d7cee0..b3260ba34661b 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index 8541a86e06fe3..e3fce0ced3a31 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index 86ba3f6c258e9..34e79173572f2 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 2b0f90fa4f7a7..03684778c62d8 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index a67a353db51cb..1a9ba7c881097 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index bad42d222d1bc..cd7f17db7a417 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index e68403da9feaf..47bc1bac7b387 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index e4b7de52c8989..abb4e9a21fbd3 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index d8ae81b6ca25a..486711b20e5af 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index 837161cdf2129..bc8f4d0eab32e 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index a0823fda11128..e0ff0ceec1d7f 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index c53e51dc80d54..7126a29dea129 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index 09bddd7a54e30..0ded36ebeba0d 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 5184e1446b8a2..5f55c93936d1e 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index 7ebf5efebf9a2..4ee0c1ec80df9 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index a8bc3c26196ca..8e6753bb43c7a 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index da290c77fd32e..1f6c4f6a34379 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index d12f805781443..ea61fba3a4c8c 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 583f3965121e3..209603f99d4ce 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index da4c6fcd6c023..27be49901bb81 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index 4df082183977e..54f69352149bd 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 585462a2f6ac4..4b426cc92189e 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_subscription_tracking.devdocs.json b/api_docs/kbn_subscription_tracking.devdocs.json new file mode 100644 index 0000000000000..ea9cdb7f07167 --- /dev/null +++ b/api_docs/kbn_subscription_tracking.devdocs.json @@ -0,0 +1,519 @@ +{ + "id": "@kbn/subscription-tracking", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.registerEvents", + "type": "Function", + "tags": [], + "label": "registerEvents", + "description": [ + "\nRegisters the subscription-specific event types" + ], + "signature": [ + "(analyticsClient: Pick<", + { + "pluginId": "@kbn/analytics-client", + "scope": "common", + "docId": "kibKbnAnalyticsClientPluginApi", + "section": "def-common.IAnalyticsClient", + "text": "IAnalyticsClient" + }, + ", \"registerEventType\">) => void" + ], + "path": "packages/kbn-subscription-tracking/src/services.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.registerEvents.$1", + "type": "Object", + "tags": [], + "label": "analyticsClient", + "description": [], + "signature": [ + "Pick<", + { + "pluginId": "@kbn/analytics-client", + "scope": "common", + "docId": "kibKbnAnalyticsClientPluginApi", + "section": "def-common.IAnalyticsClient", + "text": "IAnalyticsClient" + }, + ", \"registerEventType\">" + ], + "path": "packages/kbn-subscription-tracking/src/services.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionButton", + "type": "Function", + "tags": [], + "label": "SubscriptionButton", + "description": [ + "\nWrapper around `EuiButton` that provides subscription events" + ], + "signature": [ + "({\n subscriptionContext,\n children,\n ...restProps\n}: ", + { + "pluginId": "@kbn/subscription-tracking", + "scope": "common", + "docId": "kibKbnSubscriptionTrackingPluginApi", + "section": "def-common.SubscriptionButtonProps", + "text": "SubscriptionButtonProps" + }, + ") => JSX.Element" + ], + "path": "packages/kbn-subscription-tracking/src/subscription_elements.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionButton.$1", + "type": "CompoundType", + "tags": [], + "label": "{\n subscriptionContext,\n children,\n ...restProps\n}", + "description": [], + "signature": [ + { + "pluginId": "@kbn/subscription-tracking", + "scope": "common", + "docId": "kibKbnSubscriptionTrackingPluginApi", + "section": "def-common.SubscriptionButtonProps", + "text": "SubscriptionButtonProps" + } + ], + "path": "packages/kbn-subscription-tracking/src/subscription_elements.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionButtonEmpty", + "type": "Function", + "tags": [], + "label": "SubscriptionButtonEmpty", + "description": [ + "\nWrapper around `EuiButtonEmpty` that provides subscription events" + ], + "signature": [ + "({\n subscriptionContext,\n children,\n ...restProps\n}: ", + { + "pluginId": "@kbn/subscription-tracking", + "scope": "common", + "docId": "kibKbnSubscriptionTrackingPluginApi", + "section": "def-common.SubscriptionButtonEmptyProps", + "text": "SubscriptionButtonEmptyProps" + }, + ") => JSX.Element" + ], + "path": "packages/kbn-subscription-tracking/src/subscription_elements.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionButtonEmpty.$1", + "type": "CompoundType", + "tags": [], + "label": "{\n subscriptionContext,\n children,\n ...restProps\n}", + "description": [], + "signature": [ + { + "pluginId": "@kbn/subscription-tracking", + "scope": "common", + "docId": "kibKbnSubscriptionTrackingPluginApi", + "section": "def-common.SubscriptionButtonEmptyProps", + "text": "SubscriptionButtonEmptyProps" + } + ], + "path": "packages/kbn-subscription-tracking/src/subscription_elements.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionLink", + "type": "Function", + "tags": [], + "label": "SubscriptionLink", + "description": [ + "\nWrapper around `EuiLink` that provides subscription events" + ], + "signature": [ + "({\n subscriptionContext,\n children,\n ...restProps\n}: ", + { + "pluginId": "@kbn/subscription-tracking", + "scope": "common", + "docId": "kibKbnSubscriptionTrackingPluginApi", + "section": "def-common.SubscriptionLinkProps", + "text": "SubscriptionLinkProps" + }, + ") => JSX.Element" + ], + "path": "packages/kbn-subscription-tracking/src/subscription_elements.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionLink.$1", + "type": "CompoundType", + "tags": [], + "label": "{\n subscriptionContext,\n children,\n ...restProps\n}", + "description": [], + "signature": [ + { + "pluginId": "@kbn/subscription-tracking", + "scope": "common", + "docId": "kibKbnSubscriptionTrackingPluginApi", + "section": "def-common.SubscriptionLinkProps", + "text": "SubscriptionLinkProps" + } + ], + "path": "packages/kbn-subscription-tracking/src/subscription_elements.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionTrackingProvider", + "type": "Function", + "tags": [], + "label": "SubscriptionTrackingProvider", + "description": [ + "\nExternal services provider" + ], + "signature": [ + "({ children, ...services }: React.PropsWithChildren<", + { + "pluginId": "@kbn/subscription-tracking", + "scope": "common", + "docId": "kibKbnSubscriptionTrackingPluginApi", + "section": "def-common.Services", + "text": "Services" + }, + ">) => JSX.Element" + ], + "path": "packages/kbn-subscription-tracking/src/services.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionTrackingProvider.$1", + "type": "CompoundType", + "tags": [], + "label": "{ children, ...services }", + "description": [], + "signature": [ + "React.PropsWithChildren<", + { + "pluginId": "@kbn/subscription-tracking", + "scope": "common", + "docId": "kibKbnSubscriptionTrackingPluginApi", + "section": "def-common.Services", + "text": "Services" + }, + ">" + ], + "path": "packages/kbn-subscription-tracking/src/services.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.Services", + "type": "Interface", + "tags": [], + "label": "Services", + "description": [], + "path": "packages/kbn-subscription-tracking/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.Services.navigateToApp", + "type": "Function", + "tags": [], + "label": "navigateToApp", + "description": [], + "signature": [ + "(app: string, options: { path: string; }) => void" + ], + "path": "packages/kbn-subscription-tracking/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.Services.navigateToApp.$1", + "type": "string", + "tags": [], + "label": "app", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-subscription-tracking/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.Services.navigateToApp.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "path": "packages/kbn-subscription-tracking/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.Services.navigateToApp.$2.path", + "type": "string", + "tags": [], + "label": "path", + "description": [], + "path": "packages/kbn-subscription-tracking/types.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.Services.analyticsClient", + "type": "Object", + "tags": [], + "label": "analyticsClient", + "description": [], + "signature": [ + "{ reportEvent: <EventTypeData extends object>(eventType: string, eventData: EventTypeData) => void; }" + ], + "path": "packages/kbn-subscription-tracking/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionContextData", + "type": "Interface", + "tags": [], + "label": "SubscriptionContextData", + "description": [ + "\nA piece of metadata which consists of an identifier of the advertised feature and\nthe `source` (e.g. location) of the subscription element." + ], + "path": "packages/kbn-subscription-tracking/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionContextData.source", + "type": "CompoundType", + "tags": [], + "label": "source", + "description": [ + "\nA human-readable identifier describing the location of the beginning of the\nsubscription flow.\nLocation identifiers are prefixed with a solution identifier, e.g. `security__`\n" + ], + "signature": [ + "`observability__${string}` | `security__${string}`" + ], + "path": "packages/kbn-subscription-tracking/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionContextData.feature", + "type": "string", + "tags": [], + "label": "feature", + "description": [ + "\nA human-readable identifier describing the feature that is being promoted.\n" + ], + "path": "packages/kbn-subscription-tracking/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.EVENT_NAMES", + "type": "Enum", + "tags": [], + "label": "EVENT_NAMES", + "description": [], + "path": "packages/kbn-subscription-tracking/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "misc": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionButtonEmptyProps", + "type": "Type", + "tags": [], + "label": "SubscriptionButtonEmptyProps", + "description": [], + "signature": [ + "((", + "DisambiguateSet", + "<EuiButtonEmptyPropsForAnchor, ", + "EuiButtonEmptyPropsForButton", + "> & ", + "CommonEuiButtonEmptyProps", + " & { onClick?: React.MouseEventHandler<HTMLButtonElement> | undefined; } & React.ButtonHTMLAttributes<HTMLButtonElement>) | (", + "DisambiguateSet", + "<", + "EuiButtonEmptyPropsForButton", + ", EuiButtonEmptyPropsForAnchor> & ", + "CommonEuiButtonEmptyProps", + " & { href?: string | undefined; onClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined; } & React.AnchorHTMLAttributes<HTMLAnchorElement>)) & CommonProps" + ], + "path": "packages/kbn-subscription-tracking/src/subscription_elements.tsx", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionButtonProps", + "type": "Type", + "tags": [], + "label": "SubscriptionButtonProps", + "description": [], + "signature": [ + "EuiButtonProps", + " & CommonProps" + ], + "path": "packages/kbn-subscription-tracking/src/subscription_elements.tsx", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionLinkProps", + "type": "Type", + "tags": [], + "label": "SubscriptionLinkProps", + "description": [], + "signature": [ + "((", + "DisambiguateSet", + "<", + "EuiLinkButtonProps", + ", ", + "EuiLinkAnchorProps", + "> & ", + "EuiLinkAnchorProps", + ") | (", + "DisambiguateSet", + "<", + "EuiLinkAnchorProps", + ", ", + "EuiLinkButtonProps", + "> & ", + "EuiLinkButtonProps", + ")) & CommonProps" + ], + "path": "packages/kbn-subscription-tracking/src/subscription_elements.tsx", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], + "objects": [ + { + "parentPluginId": "@kbn/subscription-tracking", + "id": "def-common.SubscriptionTrackingContext", + "type": "Object", + "tags": [], + "label": "SubscriptionTrackingContext", + "description": [], + "signature": [ + "React.Context<", + { + "pluginId": "@kbn/subscription-tracking", + "scope": "common", + "docId": "kibKbnSubscriptionTrackingPluginApi", + "section": "def-common.Services", + "text": "Services" + }, + " | null>" + ], + "path": "packages/kbn-subscription-tracking/src/services.tsx", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ] + } +} \ No newline at end of file diff --git a/api_docs/kbn_subscription_tracking.mdx b/api_docs/kbn_subscription_tracking.mdx new file mode 100644 index 0000000000000..fe9ce601dc6c8 --- /dev/null +++ b/api_docs/kbn_subscription_tracking.mdx @@ -0,0 +1,42 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnSubscriptionTrackingPluginApi +slug: /kibana-dev-docs/api/kbn-subscription-tracking +title: "@kbn/subscription-tracking" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/subscription-tracking plugin +date: 2023-09-19 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/subscription-tracking'] +--- +import kbnSubscriptionTrackingObj from './kbn_subscription_tracking.devdocs.json'; + + + +Contact [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 24 | 0 | 16 | 0 | + +## Common + +### Objects +<DocDefinitionList data={kbnSubscriptionTrackingObj.common.objects}/> + +### Functions +<DocDefinitionList data={kbnSubscriptionTrackingObj.common.functions}/> + +### Interfaces +<DocDefinitionList data={kbnSubscriptionTrackingObj.common.interfaces}/> + +### Enums +<DocDefinitionList data={kbnSubscriptionTrackingObj.common.enums}/> + +### Consts, variables and types +<DocDefinitionList data={kbnSubscriptionTrackingObj.common.misc}/> + diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index b32da7cf7f3fe..bc8c610b77ffc 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index 6e9572c79bdca..c0874f7d3732f 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 633fe98ae1264..de3b783cfbe17 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index c1e2c8211bdcd..9d1ee7d201ca9 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 8591347a02cb1..1b1fa60c4fce3 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index 97589f58ef7f0..b6885800ce4ad 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index 89815d8fb1d12..5fd29b89e81b3 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index 2612a2b454a21..b8e57dfbe1fa1 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index 74f6d6f0c2818..4be0e6e0de365 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.devdocs.json b/api_docs/kbn_ui_shared_deps_src.devdocs.json index 2e7894453849b..6dc5639e2e27a 100644 --- a/api_docs/kbn_ui_shared_deps_src.devdocs.json +++ b/api_docs/kbn_ui_shared_deps_src.devdocs.json @@ -287,6 +287,61 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/ui-shared-deps-src", + "id": "def-common.externals.reduxjstoolkit", + "type": "string", + "tags": [], + "label": "'@reduxjs/toolkit'", + "description": [], + "path": "packages/kbn-ui-shared-deps-src/src/definitions.js", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ui-shared-deps-src", + "id": "def-common.externals.reactredux", + "type": "string", + "tags": [], + "label": "'react-redux'", + "description": [], + "path": "packages/kbn-ui-shared-deps-src/src/definitions.js", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ui-shared-deps-src", + "id": "def-common.externals.redux", + "type": "string", + "tags": [], + "label": "redux", + "description": [], + "path": "packages/kbn-ui-shared-deps-src/src/definitions.js", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ui-shared-deps-src", + "id": "def-common.externals.immer", + "type": "string", + "tags": [], + "label": "immer", + "description": [], + "path": "packages/kbn-ui-shared-deps-src/src/definitions.js", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ui-shared-deps-src", + "id": "def-common.externals.reselect", + "type": "string", + "tags": [], + "label": "reselect", + "description": [], + "path": "packages/kbn-ui-shared-deps-src/src/definitions.js", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/ui-shared-deps-src", "id": "def-common.externals.rxjs", diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index f3b5125844c44..19328a41784e3 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kiban | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 47 | 0 | 38 | 0 | +| 52 | 0 | 43 | 0 | ## Common diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index f7f6cb5f8e9c9..d87ecb492fd44 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 0587485d89cf0..f48aa0341db5f 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index 8ebb478b85ecc..75cc9a2218b1e 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 8c8f6f673fde3..deaa36ff231a5 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 31e6a44eb52d9..fafbfb6b53841 100644 --- a/api_docs/kbn_url_state.mdx +++ b/api_docs/kbn_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-url-state title: "@kbn/url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/url-state plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/url-state'] --- import kbnUrlStateObj from './kbn_url_state.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 27cda631bb9e3..1b5df8bc78f7c 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 3a9bf3d8372a9..1144702db2149 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index 2564b7f1ea610..af386e2cc79ff 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index 06faefc89efa0..c82d5721372e9 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index 14b0a78d5664d..99b9a82578779 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index 810ab3e64bbb0..42b8a42d02e9e 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index f6f601098955d..4cd6941eea03c 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index be886267160d9..c810f5fbff85e 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 5354c08d5a5f4..4041fe26889c2 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index 6e9101c7d7ae5..1c069f0bfee69 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index b5d3ef10fc43f..637e19954c353 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 569fb3ce1f001..46d9ac2bbf4ef 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 06526a52eab03..27923ed32f7dd 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 3e5cdd134932c..5f2633bb3a2c0 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index 1b119d29e5364..f5305c673b8c9 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index af4886734e265..e0a865bc3075a 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 2a5783d872c37..cd3b1e778b5c3 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/log_explorer.mdx b/api_docs/log_explorer.mdx index 48befa9dd754c..17300a27ec2d3 100644 --- a/api_docs/log_explorer.mdx +++ b/api_docs/log_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logExplorer title: "logExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logExplorer plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logExplorer'] --- import logExplorerObj from './log_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 886c80a166b42..d3112738ad883 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 34e545e5a278b..a352e4321f67f 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index fa4d670853041..a240fe08abd4e 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index c3055caaa3c2c..2877046a32147 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index 0d7ff4bf9fa3a..87aaa97cd6cfe 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index a0e2ab06193d7..944a0d26fc46f 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index 34db03eb41c09..6d6b058abdc0d 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index 0d2e39a04287f..682fff7d046b6 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index 9529b004070b7..e9e55cd79a461 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index b5bc67c6e8226..f5f32f8a8e315 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index c0fe674b7ca24..8879796c4ca50 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 8064591412a7a..b657ddc8a8817 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index 1d3257949d761..799dd345ce281 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -2251,6 +2251,26 @@ "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.ObservabilityFetchDataResponse.universal_profiling", + "type": "Object", + "tags": [], + "label": "universal_profiling", + "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.FetchDataResponse", + "text": "FetchDataResponse" + } + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -2365,6 +2385,20 @@ "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "observability", + "id": "def-public.ObservabilityHasDataResponse.universal_profiling", + "type": "Object", + "tags": [], + "label": "universal_profiling", + "description": [], + "signature": [ + "UniversalProfilingHasDataResponse" + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -4231,7 +4265,7 @@ "label": "ObservabilityFetchDataPlugins", "description": [], "signature": [ - "\"uptime\" | \"ux\" | \"infra_logs\" | \"infra_metrics\" | \"apm\"" + "\"uptime\" | \"ux\" | \"infra_logs\" | \"infra_metrics\" | \"apm\" | \"universal_profiling\"" ], "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", "deprecated": false, @@ -4424,6 +4458,27 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "observability", + "id": "def-public.UniversalProfilingDataResponse", + "type": "Type", + "tags": [], + "label": "UniversalProfilingDataResponse", + "description": [], + "signature": [ + { + "pluginId": "observability", + "scope": "public", + "docId": "kibObservabilityPluginApi", + "section": "def-public.FetchDataResponse", + "text": "FetchDataResponse" + } + ], + "path": "x-pack/plugins/observability/public/typings/fetch_overview_data/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "observability", "id": "def-public.uptimeOverviewLocatorID", @@ -7928,7 +7983,7 @@ "label": "config", "description": [], "signature": [ - "{ readonly enabled: boolean; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly thresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" + "{ readonly enabled: boolean; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly customThresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" ], "path": "x-pack/plugins/observability/server/routes/types.ts", "deprecated": false, @@ -9724,7 +9779,7 @@ "label": "ObservabilityConfig", "description": [], "signature": [ - "{ readonly enabled: boolean; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly thresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" + "{ readonly enabled: boolean; readonly unsafe: Readonly<{} & { alertDetails: Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; thresholdRule: Readonly<{} & { enabled: boolean; }>; }>; readonly annotations: Readonly<{} & { index: string; enabled: boolean; }>; readonly customThresholdRule: Readonly<{} & { groupByPageSize: number; }>; readonly compositeSlo: Readonly<{} & { enabled: boolean; }>; }" ], "path": "x-pack/plugins/observability/server/index.ts", "deprecated": false, diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 55e5602e5d681..21db32af455cf 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 543 | 2 | 534 | 14 | +| 546 | 2 | 537 | 14 | ## Client diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 9e605b605838d..cb039f217da63 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index ec7139b7b9326..0d393c1474a1d 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 046939f5e474f..5326b2bf2dd4c 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index ba07abd8f4ea5..381e01bc0ebf8 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index 593ca0efd05b9..da3d94c890a9d 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index e5a177c21266e..efc926d660f0d 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,13 +15,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a <br /> public API | Number of teams | |--------------|----------|------------------------| -| 689 | 580 | 43 | +| 690 | 581 | 43 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 74825 | 223 | 63875 | 1528 | +| 74827 | 223 | 63869 | 1531 | ## Plugin Directory @@ -30,7 +30,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibActionsPluginApi" text="actions"/> | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 269 | 0 | 263 | 31 | | <DocLink id="kibAdvancedSettingsPluginApi" text="advancedSettings"/> | [@elastic/appex-sharedux @elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 17 | 1 | 15 | 2 | | <DocLink id="kibAiopsPluginApi" text="aiops"/> | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 66 | 1 | 4 | 1 | -| <DocLink id="kibAlertingPluginApi" text="alerting"/> | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 793 | 1 | 762 | 49 | +| <DocLink id="kibAlertingPluginApi" text="alerting"/> | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 767 | 1 | 736 | 50 | | <DocLink id="kibApmPluginApi" text="apm"/> | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | The user interface for Elastic APM | 29 | 0 | 29 | 119 | | <DocLink id="kibApmDataAccessPluginApi" text="apmDataAccess"/> | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 9 | 0 | 9 | 0 | | <DocLink id="kibAssetManagerPluginApi" text="assetManager"/> | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | Asset manager plugin for entity assets (inventory, topology, etc) | 2 | 0 | 2 | 0 | @@ -73,7 +73,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibEncryptedSavedObjectsPluginApi" text="encryptedSavedObjects"/> | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides encryption and decryption utilities for saved objects containing sensitive information. | 51 | 0 | 44 | 0 | | <DocLink id="kibEnterpriseSearchPluginApi" text="enterpriseSearch"/> | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Adds dashboards for discovering and managing Enterprise Search products. | 6 | 0 | 6 | 0 | | <DocLink id="kibEsUiSharedPluginApi" text="esUiShared"/> | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 115 | 3 | 111 | 3 | -| <DocLink id="kibEventAnnotationPluginApi" text="eventAnnotation"/> | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | The Event Annotation service contains expressions for event annotations | 195 | 0 | 195 | 5 | +| <DocLink id="kibEventAnnotationPluginApi" text="eventAnnotation"/> | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | The Event Annotation service contains expressions for event annotations | 201 | 0 | 201 | 6 | | <DocLink id="kibEventLogPluginApi" text="eventLog"/> | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 111 | 0 | 111 | 11 | | <DocLink id="kibExploratoryViewPluginApi" text="exploratoryView"/> | [@elastic/uptime](https://github.com/orgs/elastic/teams/uptime) | - | 132 | 1 | 132 | 14 | | <DocLink id="kibExpressionErrorPluginApi" text="expressionError"/> | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds 'error' renderer to expressions | 17 | 0 | 15 | 2 | @@ -106,7 +106,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibHomePluginApi" text="home"/> | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 149 | 0 | 109 | 0 | | <DocLink id="kibImageEmbeddablePluginApi" text="imageEmbeddable"/> | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Image embeddable | 3 | 0 | 3 | 1 | | <DocLink id="kibIndexLifecycleManagementPluginApi" text="indexLifecycleManagement"/> | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 4 | 0 | 4 | 0 | -| <DocLink id="kibIndexManagementPluginApi" text="indexManagement"/> | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 194 | 0 | 189 | 4 | +| <DocLink id="kibIndexManagementPluginApi" text="indexManagement"/> | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 186 | 0 | 181 | 3 | | <DocLink id="kibInfraPluginApi" text="infra"/> | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin visualizes data from Filebeat and Metricbeat, and integrates with other Observability solutions | 42 | 0 | 39 | 11 | | ingestPipelines | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 0 | 0 | 0 | 0 | | inputControlVis | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Input Control visualization to Kibana | 0 | 0 | 0 | 0 | @@ -136,7 +136,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibNewsfeedPluginApi" text="newsfeed"/> | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | <DocLink id="kibNoDataPagePluginApi" text="noDataPage"/> | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 3 | 0 | | <DocLink id="kibNotificationsPluginApi" text="notifications"/> | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | -| <DocLink id="kibObservabilityPluginApi" text="observability"/> | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 543 | 2 | 534 | 14 | +| <DocLink id="kibObservabilityPluginApi" text="observability"/> | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 546 | 2 | 537 | 14 | | <DocLink id="kibObservabilityAIAssistantPluginApi" text="observabilityAIAssistant"/> | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 42 | 0 | 39 | 7 | | observabilityLogExplorer | [@elastic/infra-monitoring-ui](https://github.com/orgs/elastic/teams/infra-monitoring-ui) | This plugin exposes and registers observability log consumption features. | 0 | 0 | 0 | 0 | | <DocLink id="kibObservabilityOnboardingPluginApi" text="observabilityOnboarding"/> | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 17 | 0 | 16 | 0 | @@ -184,7 +184,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibTimelinesPluginApi" text="timelines"/> | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 257 | 1 | 213 | 22 | | <DocLink id="kibTransformPluginApi" text="transform"/> | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the transforms features provided by Elastic. Transforms enable you to convert existing Elasticsearch indices into summarized indices, which provide opportunities for new insights and analytics. | 4 | 0 | 4 | 1 | | translations | [@elastic/kibana-localization](https://github.com/orgs/elastic/teams/kibana-localization) | - | 0 | 0 | 0 | 0 | -| <DocLink id="kibTriggersActionsUiPluginApi" text="triggersActionsUi"/> | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 576 | 1 | 550 | 51 | +| <DocLink id="kibTriggersActionsUiPluginApi" text="triggersActionsUi"/> | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 576 | 1 | 550 | 52 | | <DocLink id="kibUiActionsPluginApi" text="uiActions"/> | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds UI Actions service to Kibana | 145 | 0 | 103 | 9 | | <DocLink id="kibUiActionsEnhancedPluginApi" text="uiActionsEnhanced"/> | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Extends UI Actions plugin with more functionality | 206 | 0 | 140 | 9 | | <DocLink id="kibUnifiedDocViewerPluginApi" text="unifiedDocViewer"/> | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains services reliant on the plugin lifecycle for the unified doc viewer component (see @kbn/unified-doc-viewer). | 13 | 0 | 10 | 3 | @@ -437,8 +437,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibKbnEbtToolsPluginApi" text="@kbn/ebt-tools"/> | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 19 | 0 | 11 | 0 | | <DocLink id="kibKbnEcsPluginApi" text="@kbn/ecs"/> | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 35125 | 0 | 34718 | 0 | | <DocLink id="kibKbnEcsDataQualityDashboardPluginApi" text="@kbn/ecs-data-quality-dashboard"/> | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 13 | 0 | 5 | 0 | -| <DocLink id="kibKbnElasticAssistantPluginApi" text="@kbn/elastic-assistant"/> | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 84 | 0 | 64 | 5 | -| <DocLink id="kibKbnEsPluginApi" text="@kbn/es"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 46 | 0 | 33 | 7 | +| <DocLink id="kibKbnElasticAssistantPluginApi" text="@kbn/elastic-assistant"/> | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 85 | 0 | 65 | 6 | +| <DocLink id="kibKbnEsPluginApi" text="@kbn/es"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 43 | 0 | 30 | 7 | | <DocLink id="kibKbnEsArchiverPluginApi" text="@kbn/es-archiver"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 27 | 0 | 14 | 1 | | <DocLink id="kibKbnEsErrorsPluginApi" text="@kbn/es-errors"/> | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 3 | 0 | | <DocLink id="kibKbnEsQueryPluginApi" text="@kbn/es-query"/> | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 259 | 1 | 199 | 15 | @@ -613,6 +613,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibKbnStdPluginApi" text="@kbn/std"/> | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 102 | 2 | 65 | 1 | | <DocLink id="kibKbnStdioDevHelpersPluginApi" text="@kbn/stdio-dev-helpers"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 4 | 0 | 2 | 0 | | <DocLink id="kibKbnStorybookPluginApi" text="@kbn/storybook"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 41 | 2 | 21 | 0 | +| <DocLink id="kibKbnSubscriptionTrackingPluginApi" text="@kbn/subscription-tracking"/> | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 24 | 0 | 16 | 0 | | <DocLink id="kibKbnTelemetryToolsPluginApi" text="@kbn/telemetry-tools"/> | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 5 | 1 | | <DocLink id="kibKbnTestPluginApi" text="@kbn/test"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 289 | 4 | 242 | 12 | | <DocLink id="kibKbnTestJestHelpersPluginApi" text="@kbn/test-jest-helpers"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 137 | 5 | 105 | 2 | @@ -622,7 +623,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | <DocLink id="kibKbnTsProjectsPluginApi" text="@kbn/ts-projects"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 39 | 0 | 25 | 1 | | <DocLink id="kibKbnTypedReactRouterConfigPluginApi" text="@kbn/typed-react-router-config"/> | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 86 | 0 | 86 | 1 | | <DocLink id="kibKbnUiActionsBrowserPluginApi" text="@kbn/ui-actions-browser"/> | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 49 | 0 | 35 | 0 | -| <DocLink id="kibKbnUiSharedDepsSrcPluginApi" text="@kbn/ui-shared-deps-src"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 47 | 0 | 38 | 0 | +| <DocLink id="kibKbnUiSharedDepsSrcPluginApi" text="@kbn/ui-shared-deps-src"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 52 | 0 | 43 | 0 | | <DocLink id="kibKbnUiThemePluginApi" text="@kbn/ui-theme"/> | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 7 | 0 | 6 | 0 | | <DocLink id="kibKbnUnifiedDataTablePluginApi" text="@kbn/unified-data-table"/> | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Contains functionality for the unified data table which can be integrated into apps | 92 | 0 | 42 | 1 | | <DocLink id="kibKbnUnifiedDocViewerPluginApi" text="@kbn/unified-doc-viewer"/> | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 10 | 0 | 7 | 6 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index ab68bc1841ce5..63abb58d1aba6 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index a02442989138b..a3cb82b1f5ae4 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index d63c165720c51..605d64f36f597 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 81e8cd085aee9..fb85330c4a82a 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index f3d3b7819c8b5..3b18917983031 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 529cd8de5302e..cc164d7da3664 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 2aa4c6ce02ba0..371dd2f096a47 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index 801f96570ae65..0896b85d92ed6 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 8f930fb9b2c1a..79496af4501db 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index c1471bbee241e..bd4d71e82e826 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index c9759ef6df70d..a9f2a61686bcc 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index db932cbfa0310..6fe9de598ddc0 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index c929b98b07a86..a0e74f88d9c2e 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index 747d69708946a..13dc6046f5767 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index 7386a2e827192..20c25d8975955 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index fe0f03f33762a..548e65c09178a 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index ea5a152a1d057..5b4210216fed5 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index 5eba3ddebdd38..7c8a01642f832 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 22cdb80677758..611040377bf1b 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index c889923cb5830..06129a24e742e 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index 4e17e3d8b0466..9cecfd7a4a096 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index 753f8d779b7b3..d50b6cd5aef07 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index 15c5da35e4840..2707170c38325 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 0de7aa5a518ee..a44b8271291d4 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index 7c445037e8b5d..49794dd880c9f 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 70f90f3dc20ab..691b34b3d0659 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index 2c5bff59f99c8..5cca8cf8021e4 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index 6404d5f492fc2..c767c9c22c838 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 189fefea6e009..8861d740f9e78 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 8d678bc02daa7..890b79205b2e1 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index 7b494960ac3aa..a898f29622843 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index e6aec2eb4a60c..c3de48fd725bc 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index 354877d217b88..e0366383e1da1 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index eb0617a920f30..9d4e0063ec981 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 19a99a2b95e3d..5a35d27cfe121 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 78ca7b06f4108..1e44cafff9848 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 2539f40f5be8e..8c997c60d3286 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index fe698cfdcafeb..71aca2f9dd5dd 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.devdocs.json b/api_docs/triggers_actions_ui.devdocs.json index a153daf2744a9..2bbfb1290b896 100644 --- a/api_docs/triggers_actions_ui.devdocs.json +++ b/api_docs/triggers_actions_ui.devdocs.json @@ -1217,13 +1217,7 @@ "({\n http,\n searchText,\n typesFilter,\n actionTypesFilter,\n ruleExecutionStatusesFilter,\n ruleStatusesFilter,\n tagsFilter,\n}: ", "LoadRuleAggregationsProps", ") => Promise<", - { - "pluginId": "alerting", - "scope": "common", - "docId": "kibAlertingPluginApi", - "section": "def-common.RuleAggregationFormattedResult", - "text": "RuleAggregationFormattedResult" - }, + "AggregateRulesResponse", ">" ], "path": "x-pack/plugins/triggers_actions_ui/public/application/lib/rule_api/aggregate.ts", @@ -9019,7 +9013,7 @@ "label": "isGroupAggregation", "description": [], "signature": [ - "(termField?: string | undefined) => boolean" + "(termField?: string | string[] | undefined) => boolean" ], "path": "x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.ts", "deprecated": false, @@ -9028,12 +9022,12 @@ { "parentPluginId": "triggersActionsUi", "id": "def-common.isGroupAggregation.$1", - "type": "string", + "type": "CompoundType", "tags": [], "label": "termField", "description": [], "signature": [ - "string | undefined" + "string | string[] | undefined" ], "path": "x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.ts", "deprecated": false, @@ -9256,12 +9250,12 @@ { "parentPluginId": "triggersActionsUi", "id": "def-common.BuildAggregationOpts.termField", - "type": "string", + "type": "CompoundType", "tags": [], "label": "termField", "description": [], "signature": [ - "string | undefined" + "string | string[] | undefined" ], "path": "x-pack/plugins/triggers_actions_ui/common/data/lib/build_agg.ts", "deprecated": false, diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index a14a53787e873..6341ab131ad8c 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 576 | 1 | 550 | 51 | +| 576 | 1 | 550 | 52 | ## Client diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 36aae26dc9903..1773e573472ee 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index 7b3f0faa027cf..5dc0189171e8c 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 47599b58f8d07..2a2d395e6b54c 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 4ad356e41031c..e276ceb59d5a1 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index b62b43f181db7..b226890976c9f 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index 03b11994546df..3b0ba934d5289 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index a79fa233b60c2..28d3de651e7ef 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 879d342d58126..75a2e45fb43ba 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 967fe7880a4c5..d8b10b102d402 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index 96ca8d0ac6d0a..c7b71aa8b6e41 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index 4461569637176..9bbac994735f3 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index e5ddc67d24f63..226d650aa6144 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index 65d0487d4ba3b..6929050acaf79 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index 15aa4f66931c6..b15fb92d95fd7 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index e238a48bbb921..81b2610b49520 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index 830700d499f93..a5077ae84a77a 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index 3bf19e74f9f3d..9933318ab9afb 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index af39253166b07..c7ec674e555d6 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index 139ad5a35f397..76228a6dc2d14 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index d069c100321aa..3d10ef59dcaea 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index e5cb903be22db..b9e72384b76fa 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2023-09-18 +date: 2023-09-19 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; From 85969817a184ae04e319299fcf7414af3d7d12a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= <alejandro.haro@elastic.co> Date: Tue, 19 Sep 2023 09:54:00 +0200 Subject: [PATCH 112/149] [Cloud plugin] Add `projectId` to the telemetry streams (#166527) --- ...ud_deployment_id_analytics_context.test.ts | 15 ++++++++++++ ...r_cloud_deployment_id_analytics_context.ts | 9 ++++++++ .../collectors/cloud_usage_collector.test.ts | 23 +++++++++++++++++++ .../collectors/cloud_usage_collector.ts | 16 ++++++++++++- x-pack/plugins/cloud/server/plugin.ts | 10 +++++--- .../schema/xpack_plugins.json | 12 ++++++++++ 6 files changed, 81 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.test.ts b/x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.test.ts index 26f4acb9ae576..a3413933a8e15 100644 --- a/x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.test.ts +++ b/x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.test.ts @@ -42,4 +42,19 @@ describe('registerCloudDeploymentIdAnalyticsContext', () => { deploymentId: 'uuid-of-my-deployment', }); }); + + test('it registers the context provider and emits the cloudId and projectId', async () => { + registerCloudDeploymentMetadataAnalyticsContext(analytics, { + id: 'cloud_id', + serverless: { + project_id: 'a-project-id', + }, + }); + expect(analytics.registerContextProvider).toHaveBeenCalledTimes(1); + const [{ context$ }] = analytics.registerContextProvider.mock.calls[0]; + await expect(firstValueFrom(context$)).resolves.toEqual({ + cloudId: 'cloud_id', + projectId: 'a-project-id', + }); + }); }); diff --git a/x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.ts b/x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.ts index d3c8d0df8e553..ffc347a5971a5 100644 --- a/x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.ts +++ b/x-pack/plugins/cloud/common/register_cloud_deployment_id_analytics_context.ts @@ -14,6 +14,9 @@ export interface CloudDeploymentMetadata { trial_end_date?: string; is_elastic_staff_owned?: boolean; deployment_url?: string; + serverless?: { + project_id?: string; + }; } export function registerCloudDeploymentMetadataAnalyticsContext( @@ -27,6 +30,7 @@ export function registerCloudDeploymentMetadataAnalyticsContext( id: cloudId, trial_end_date: cloudTrialEndDate, is_elastic_staff_owned: cloudIsElasticStaffOwned, + serverless: { project_id: projectId } = {}, } = cloudMetadata; analytics.registerContextProvider({ @@ -36,6 +40,7 @@ export function registerCloudDeploymentMetadataAnalyticsContext( deploymentId: parseDeploymentIdFromDeploymentUrl(cloudMetadata.deployment_url), cloudTrialEndDate, cloudIsElasticStaffOwned, + projectId, }), schema: { cloudId: { @@ -57,6 +62,10 @@ export function registerCloudDeploymentMetadataAnalyticsContext( optional: true, }, }, + projectId: { + type: 'keyword', + _meta: { description: 'The Serverless Project ID', optional: true }, + }, }, }); } diff --git a/x-pack/plugins/cloud/server/collectors/cloud_usage_collector.test.ts b/x-pack/plugins/cloud/server/collectors/cloud_usage_collector.test.ts index 612b75e5d68d3..b10662fd5421a 100644 --- a/x-pack/plugins/cloud/server/collectors/cloud_usage_collector.test.ts +++ b/x-pack/plugins/cloud/server/collectors/cloud_usage_collector.test.ts @@ -35,6 +35,8 @@ describe('createCloudUsageCollector', () => { isCloudEnabled: true, isElasticStaffOwned: undefined, trialEndDate: undefined, + deploymentId: undefined, + projectId: undefined, }); }); @@ -49,6 +51,27 @@ describe('createCloudUsageCollector', () => { isElasticStaffOwned: undefined, trialEndDate: '2020-10-01T14:30:16Z', inTrial: false, + deploymentId: undefined, + projectId: undefined, + }); + }); + + it('pass-through properties are copied as expected', async () => { + const collector = createCloudUsageCollector(usageCollection, { + isCloudEnabled: true, + trialEndDate: '2020-10-01T14:30:16Z', + isElasticStaffOwned: true, + deploymentId: 'a-deployment-id', + projectId: 'a-project-id', + }); + + expect(await collector.fetch(collectorFetchContext)).toStrictEqual({ + isCloudEnabled: true, + trialEndDate: '2020-10-01T14:30:16Z', + inTrial: false, + isElasticStaffOwned: true, + deploymentId: 'a-deployment-id', + projectId: 'a-project-id', }); }); }); diff --git a/x-pack/plugins/cloud/server/collectors/cloud_usage_collector.ts b/x-pack/plugins/cloud/server/collectors/cloud_usage_collector.ts index 147f61a57312b..ae777f692e98f 100644 --- a/x-pack/plugins/cloud/server/collectors/cloud_usage_collector.ts +++ b/x-pack/plugins/cloud/server/collectors/cloud_usage_collector.ts @@ -11,6 +11,8 @@ interface Config { isCloudEnabled: boolean; trialEndDate?: string; isElasticStaffOwned?: boolean; + deploymentId?: string; + projectId?: string; } interface CloudUsage { @@ -18,10 +20,12 @@ interface CloudUsage { trialEndDate?: string; inTrial?: boolean; isElasticStaffOwned?: boolean; + deploymentId?: string; + projectId?: string; } export function createCloudUsageCollector(usageCollection: UsageCollectionSetup, config: Config) { - const { isCloudEnabled, trialEndDate, isElasticStaffOwned } = config; + const { isCloudEnabled, trialEndDate, isElasticStaffOwned, deploymentId, projectId } = config; const trialEndDateMs = trialEndDate ? new Date(trialEndDate).getTime() : undefined; return usageCollection.makeUsageCollector<CloudUsage>({ type: 'cloud', @@ -31,6 +35,14 @@ export function createCloudUsageCollector(usageCollection: UsageCollectionSetup, trialEndDate: { type: 'date' }, inTrial: { type: 'boolean' }, isElasticStaffOwned: { type: 'boolean' }, + deploymentId: { + type: 'keyword', + _meta: { description: 'The ESS Deployment ID' }, + }, + projectId: { + type: 'keyword', + _meta: { description: 'The Serverless Project ID' }, + }, }, fetch: () => { return { @@ -38,6 +50,8 @@ export function createCloudUsageCollector(usageCollection: UsageCollectionSetup, isElasticStaffOwned, trialEndDate, ...(trialEndDateMs ? { inTrial: Date.now() <= trialEndDateMs } : {}), + deploymentId, + projectId, }; }, }); diff --git a/x-pack/plugins/cloud/server/plugin.ts b/x-pack/plugins/cloud/server/plugin.ts index efdcf9ebbe216..2239056b7f2ba 100644 --- a/x-pack/plugins/cloud/server/plugin.ts +++ b/x-pack/plugins/cloud/server/plugin.ts @@ -147,13 +147,17 @@ export class CloudPlugin implements Plugin<CloudSetup, CloudStart> { public setup(core: CoreSetup, { usageCollection }: PluginsSetup): CloudSetup { const isCloudEnabled = getIsCloudEnabled(this.config.id); - const isServerlessEnabled = !!this.config.serverless?.project_id; + const projectId = this.config.serverless?.project_id; + const isServerlessEnabled = !!projectId; + const deploymentId = parseDeploymentIdFromDeploymentUrl(this.config.deployment_url); registerCloudDeploymentMetadataAnalyticsContext(core.analytics, this.config); registerCloudUsageCollector(usageCollection, { isCloudEnabled, trialEndDate: this.config.trial_end_date, isElasticStaffOwned: this.config.is_elastic_staff_owned, + deploymentId, + projectId, }); let decodedId: DecodedCloudId | undefined; @@ -165,7 +169,7 @@ export class CloudPlugin implements Plugin<CloudSetup, CloudStart> { ...this.getCloudUrls(), cloudId: this.config.id, instanceSizeMb: readInstanceSizeMb(), - deploymentId: parseDeploymentIdFromDeploymentUrl(this.config.deployment_url), + deploymentId, elasticsearchUrl: decodedId?.elasticsearchUrl, kibanaUrl: decodedId?.kibanaUrl, cloudHost: decodedId?.host, @@ -179,7 +183,7 @@ export class CloudPlugin implements Plugin<CloudSetup, CloudStart> { }, isServerlessEnabled, serverless: { - projectId: this.config.serverless?.project_id, + projectId, projectName: this.config.serverless?.project_name, }, }; 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 000d54ade631c..fde387ee53caf 100644 --- a/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json +++ b/x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json @@ -6179,6 +6179,18 @@ }, "isElasticStaffOwned": { "type": "boolean" + }, + "deploymentId": { + "type": "keyword", + "_meta": { + "description": "The ESS Deployment ID" + } + }, + "projectId": { + "type": "keyword", + "_meta": { + "description": "The Serverless Project ID" + } } } }, From 44ecd64f4fdd877d265c5eff190f507a258f0044 Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Tue, 19 Sep 2023 10:30:44 +0200 Subject: [PATCH 113/149] [Fleet] fix force delete package, updated used by agents check (#166623) ## Summary Closes https://github.com/elastic/kibana/issues/126190 Found that the force flag didn't work when passed in the request body of the DELETE request (the value was undefined), it seems not supported by nodejs. Changed it to pass the force flag as a query param, left the body as deprecated for BWC. To test: - add an agent policy with system integration and enroll an agent - try to delete the package without force flag: shouldn't be allowed - try to delete with force flag, should be allowed - if there are no agents enrolled, the package will be deleted with package policies ``` DELETE kbn:/api/fleet/epm/packages/system/1.38.2?force=true ``` ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../plugins/fleet/common/openapi/bundled.json | 9 ++++++++ .../plugins/fleet/common/openapi/bundled.yaml | 6 +++++ ...epm@packages@{pkg_name}@{pkg_version}.yaml | 6 +++++ .../fleet/server/routes/epm/handlers.ts | 4 ++-- .../services/epm/packages/remove.test.ts | 23 ++++++++++++++++++- .../server/services/epm/packages/remove.ts | 12 +++++++--- .../fleet/server/types/rest_spec/epm.ts | 4 ++++ 7 files changed, 58 insertions(+), 6 deletions(-) diff --git a/x-pack/plugins/fleet/common/openapi/bundled.json b/x-pack/plugins/fleet/common/openapi/bundled.json index f5c13ac7fc39c..334ef577c5fdf 100644 --- a/x-pack/plugins/fleet/common/openapi/bundled.json +++ b/x-pack/plugins/fleet/common/openapi/bundled.json @@ -1231,6 +1231,14 @@ "parameters": [ { "$ref": "#/components/parameters/kbn_xsrf" + }, + { + "schema": { + "type": "boolean" + }, + "name": "force", + "description": "delete package even if policies used by agents", + "in": "query" } ], "requestBody": { @@ -1238,6 +1246,7 @@ "application/json": { "schema": { "type": "object", + "deprecated": true, "properties": { "force": { "type": "boolean" diff --git a/x-pack/plugins/fleet/common/openapi/bundled.yaml b/x-pack/plugins/fleet/common/openapi/bundled.yaml index e1e199835c77a..6ba43b73ba643 100644 --- a/x-pack/plugins/fleet/common/openapi/bundled.yaml +++ b/x-pack/plugins/fleet/common/openapi/bundled.yaml @@ -772,11 +772,17 @@ paths: operationId: delete-package parameters: - $ref: '#/components/parameters/kbn_xsrf' + - schema: + type: boolean + name: force + description: delete package even if policies used by agents + in: query requestBody: content: application/json: schema: type: object + deprecated: true properties: force: type: boolean diff --git a/x-pack/plugins/fleet/common/openapi/paths/epm@packages@{pkg_name}@{pkg_version}.yaml b/x-pack/plugins/fleet/common/openapi/paths/epm@packages@{pkg_name}@{pkg_version}.yaml index 94428e4bbe2b0..bc97c46bd4cd2 100644 --- a/x-pack/plugins/fleet/common/openapi/paths/epm@packages@{pkg_name}@{pkg_version}.yaml +++ b/x-pack/plugins/fleet/common/openapi/paths/epm@packages@{pkg_name}@{pkg_version}.yaml @@ -194,11 +194,17 @@ delete: operationId: delete-package parameters: - $ref: ../components/headers/kbn_xsrf.yaml + - schema: + type: boolean + name: force + description: delete package even if policies used by agents + in: query requestBody: content: application/json: schema: type: object + deprecated: true properties: force: type: boolean diff --git a/x-pack/plugins/fleet/server/routes/epm/handlers.ts b/x-pack/plugins/fleet/server/routes/epm/handlers.ts index e3e04820899d4..c507d9e6732a7 100644 --- a/x-pack/plugins/fleet/server/routes/epm/handlers.ts +++ b/x-pack/plugins/fleet/server/routes/epm/handlers.ts @@ -540,7 +540,7 @@ export const installPackageByUploadHandler: FleetRequestHandler< export const deletePackageHandler: FleetRequestHandler< TypeOf<typeof DeletePackageRequestSchema.params>, - undefined, + TypeOf<typeof DeletePackageRequestSchema.query>, TypeOf<typeof DeletePackageRequestSchema.body> > = async (context, request, response) => { try { @@ -554,7 +554,7 @@ export const deletePackageHandler: FleetRequestHandler< pkgName, pkgVersion, esClient, - force: request.body?.force, + force: request.query?.force, }); const body: DeletePackageResponse = { items: res, diff --git a/x-pack/plugins/fleet/server/services/epm/packages/remove.test.ts b/x-pack/plugins/fleet/server/services/epm/packages/remove.test.ts index ff03dbf5fd422..f15043fe52923 100644 --- a/x-pack/plugins/fleet/server/services/epm/packages/remove.test.ts +++ b/x-pack/plugins/fleet/server/services/epm/packages/remove.test.ts @@ -21,13 +21,23 @@ jest.mock('../..', () => { }), }, packagePolicyService: { - list: jest.fn().mockResolvedValue({ total: 1, items: [{ id: 'system-1' }] }), + list: jest.fn().mockImplementation((soClient, params) => { + if (params.kuery.includes('system')) + return Promise.resolve({ total: 1, items: [{ id: 'system-1', agents: 1 }] }); + else + return Promise.resolve({ + total: 2, + items: [{ id: 'elastic_agent-1' }, { id: 'elastic_agent-2' }], + }); + }), delete: jest.fn(), }, }; }); jest.mock('../../audit_logging'); +jest.mock('../../package_policies/populate_package_policy_assigned_agents_count'); + const mockedAuditLoggingService = auditLoggingService as jest.Mocked<typeof auditLoggingService>; const mockPackagePolicyService = packagePolicyService as jest.Mocked<typeof packagePolicyService>; @@ -72,6 +82,17 @@ describe('removeInstallation', () => { ); }); + it('should remove package policies when not used by agents', async () => { + await removeInstallation({ + savedObjectsClient: soClientMock, + pkgName: 'elastic_agent', + pkgVersion: '1.0.0', + esClient: esClientMock, + force: false, + }); + expect(mockPackagePolicyService.delete).toHaveBeenCalledTimes(2); + }); + it('should call audit logger', async () => { await removeInstallation({ savedObjectsClient: soClientMock, diff --git a/x-pack/plugins/fleet/server/services/epm/packages/remove.ts b/x-pack/plugins/fleet/server/services/epm/packages/remove.ts index 0485662b584c7..c65a4d165cf7f 100644 --- a/x-pack/plugins/fleet/server/services/epm/packages/remove.ts +++ b/x-pack/plugins/fleet/server/services/epm/packages/remove.ts @@ -43,6 +43,8 @@ import { removeArchiveEntries } from '../archive/storage'; import { auditLoggingService } from '../../audit_logging'; +import { populatePackagePolicyAssignedAgentsCount } from '../../package_policies/populate_package_policy_assigned_agents_count'; + import { getInstallation, kibanaSavedObjectTypes } from '.'; export async function removeInstallation(options: { @@ -59,17 +61,21 @@ export async function removeInstallation(options: { const { total, items } = await packagePolicyService.list(savedObjectsClient, { kuery: `${PACKAGE_POLICY_SAVED_OBJECT_TYPE}.package.name:${pkgName}`, page: 1, - perPage: options.force ? SO_SEARCH_LIMIT : 0, + perPage: SO_SEARCH_LIMIT, }); + if (!options.force) { + await populatePackagePolicyAssignedAgentsCount(esClient, items); + } + if (total > 0) { - if (options.force) { + if (options.force || items.every((item) => (item.agents ?? 0) === 0)) { // delete package policies const ids = items.map((item) => item.id); appContextService .getLogger() .info( - `deleting package policies of ${pkgName} package because force flag was enabled: ${ids}` + `deleting package policies of ${pkgName} package because not used by agents or force flag was enabled: ${ids}` ); await packagePolicyService.delete(savedObjectsClient, esClient, ids, { force: options.force, diff --git a/x-pack/plugins/fleet/server/types/rest_spec/epm.ts b/x-pack/plugins/fleet/server/types/rest_spec/epm.ts index 6bc7bccf64e0c..c38a12b79b362 100644 --- a/x-pack/plugins/fleet/server/types/rest_spec/epm.ts +++ b/x-pack/plugins/fleet/server/types/rest_spec/epm.ts @@ -218,6 +218,10 @@ export const DeletePackageRequestSchema = { pkgName: schema.string(), pkgVersion: schema.string(), }), + query: schema.object({ + force: schema.maybe(schema.boolean()), + }), + // body is deprecated on delete request body: schema.nullable( schema.object({ force: schema.boolean(), From e35ba96af8a763eb077e68abf8f17f19bd0c90a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Louv-Jansen?= <soren.louv@elastic.co> Date: Tue, 19 Sep 2023 10:32:04 +0200 Subject: [PATCH 114/149] [APM] Add docs for Serverless API tests (#166147) Adds docs for how to run Serverless API tests --- x-pack/plugins/apm/dev_docs/testing.md | 40 ++++++++++++++++---------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/x-pack/plugins/apm/dev_docs/testing.md b/x-pack/plugins/apm/dev_docs/testing.md index 533ad5f474fd8..362ae0027d6d4 100644 --- a/x-pack/plugins/apm/dev_docs/testing.md +++ b/x-pack/plugins/apm/dev_docs/testing.md @@ -31,7 +31,7 @@ open target/coverage/jest/index.html The API tests are located in [`x-pack/test/apm_api_integration/`](/x-pack/test/apm_api_integration/). -### Start server and run test in a single process +#### Start server and run test (single process) ``` node x-pack/plugins/apm/scripts/test/api [--trial/--basic] [--help] @@ -40,7 +40,7 @@ node x-pack/plugins/apm/scripts/test/api [--trial/--basic] [--help] The above command will start an ES instance on http://localhost:9220, a Kibana instance on http://localhost:5620 and run the api tests. Once the tests finish, the instances will be terminated. -### Start server and run test in separate processes +#### Start server and run test (separate processes) ```sh @@ -61,7 +61,7 @@ node x-pack/plugins/apm/scripts/test/api --runner --basic --updateSnapshots (The test server needs to be running) -**API Test tips** +#### API Test tips - For data generation in API tests have a look at the [kbn-apm-synthtrace](../../../../packages/kbn-apm-synthtrace/README.md) package - For debugging access Elasticsearch on http://localhost:9220 and Kibana on http://localhost:5620 (`elastic` / `changeme`) @@ -85,19 +85,19 @@ Tests run on buildkite PR pipeline are parallelized (4 parallel jobs) and are or [Test tips and best practices](../ftr_e2e/README.md) -### Start test server +#### Start test server ``` node x-pack/plugins/apm/scripts/test/e2e --server ``` -### Run tests +#### Run tests ``` node x-pack/plugins/apm/scripts/test/e2e --runner --open ``` -### Rum tests multiple times to check for flakiness +### Run tests multiple times to check for flakiness ``` node x-pack/plugins/apm/scripts/test/e2e --runner --times <NUMBER> [--spec <FILE_NAME>] @@ -111,17 +111,11 @@ Accessibility tests are added on the e2e with `checkA11y()`, they will run toget ## Functional tests (Security and Correlations tests) -TODO: We could try moving this tests to the new e2e tests located at `x-pack/plugins/apm/ftr_e2e`. - -**Start server** - -``` +```sh +# Start server node scripts/functional_tests_server --config x-pack/test/functional/apps/apm/config.ts -``` - -**Run tests** -``` +# Run tests node scripts/functional_test_runner --config x-pack/test/functional/apps/apm/config.ts --grep='APM specs' ``` @@ -129,6 +123,22 @@ APM tests are located in `x-pack/test/functional/apps/apm`. For debugging access Elasticsearch on http://localhost:9220` (elastic/changeme) diff --git a/x-pack/plugins/apm/scripts/test/README.md b/x-pack/plugins/apm/scripts/test/README.md +## Serverless API tests + +#### Start server and run tests (single process) +``` +node scripts/functional_tests.js --config x-pack/test_serverless/api_integration/test_suites/observability/config.ts +``` + +#### Start server and run tests (separate processes) +```sh +# Start server +node scripts/functional_tests_server.js --config x-pack/test_serverless/api_integration/test_suites/observability/config.ts + +# Run tests +node scripts/functional_test_runner --config=x-pack/test_serverless/api_integration/test_suites/observability/config.ts +``` + ## Storybook ### Start From 093abe6e40afe0ab16a92dcff29b6c58c8039734 Mon Sep 17 00:00:00 2001 From: jennypavlova <dzheni.pavlova@elastic.co> Date: Tue, 19 Sep 2023 10:43:36 +0200 Subject: [PATCH 115/149] [Infra UI] Use i18n in Lens formulas labels (#166649) Closes [#166386](https://github.com/elastic/kibana/issues/166386) ## Summary This PR adds i18n translation to lens formulas ## Testing Check if all formula labels have i18n translation. Follow [this guide](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/GUIDELINE.md) to check if the translations are correctly shown --- .../common/visualizations/lens/formulas/host/cpu_usage.ts | 5 ++++- .../visualizations/lens/formulas/host/cpu_usage_iowait.ts | 5 ++++- .../visualizations/lens/formulas/host/cpu_usage_irq.ts | 5 ++++- .../visualizations/lens/formulas/host/cpu_usage_nice.ts | 5 ++++- .../visualizations/lens/formulas/host/cpu_usage_softirq.ts | 5 ++++- .../visualizations/lens/formulas/host/cpu_usage_steal.ts | 5 ++++- .../visualizations/lens/formulas/host/cpu_usage_system.ts | 5 ++++- .../visualizations/lens/formulas/host/cpu_usage_user.ts | 5 ++++- .../visualizations/lens/formulas/host/disk_read_iops.ts | 5 ++++- .../lens/formulas/host/disk_read_throughput.ts | 5 ++++- .../lens/formulas/host/disk_space_availability.ts | 5 ++++- .../lens/formulas/host/disk_space_available.ts | 5 ++++- .../common/visualizations/lens/formulas/host/disk_usage.ts | 5 ++++- .../visualizations/lens/formulas/host/disk_write_iops.ts | 5 ++++- .../lens/formulas/host/disk_write_throughput.ts | 5 ++++- .../common/visualizations/lens/formulas/host/host_count.ts | 5 ++++- .../common/visualizations/lens/formulas/host/load_15m.ts | 5 ++++- .../common/visualizations/lens/formulas/host/load_1m.ts | 5 ++++- .../common/visualizations/lens/formulas/host/load_5m.ts | 5 ++++- .../common/visualizations/lens/formulas/host/log_rate.ts | 5 ++++- .../common/visualizations/lens/formulas/host/memory_cache.ts | 5 ++++- .../common/visualizations/lens/formulas/host/memory_free.ts | 5 ++++- .../lens/formulas/host/memory_free_excluding_cache.ts | 5 ++++- .../common/visualizations/lens/formulas/host/memory_usage.ts | 5 ++++- .../common/visualizations/lens/formulas/host/memory_used.ts | 5 ++++- .../lens/formulas/host/nginx_active_connections.ts | 5 ++++- .../visualizations/lens/formulas/host/nginx_request_rate.ts | 5 ++++- .../lens/formulas/host/nginx_requests_per_connection.ts | 5 ++++- .../visualizations/lens/formulas/host/normalized_load_1m.ts | 5 ++++- .../public/common/visualizations/lens/formulas/host/rx.ts | 5 ++++- .../public/common/visualizations/lens/formulas/host/tx.ts | 5 ++++- 31 files changed, 124 insertions(+), 31 deletions(-) diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage.ts index 1364d9a4bd83a..f98c02643dc2e 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const cpuUsage: FormulaValueConfig = { - label: 'CPU Usage', + label: i18n.translate('xpack.infra.assetDetails.formulas.cpuUsage', { + defaultMessage: 'CPU Usage', + }), value: '(average(system.cpu.user.pct) + average(system.cpu.system.pct)) / max(system.cpu.cores)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_iowait.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_iowait.ts index 3e811a7ad517f..b43f77252dcc1 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_iowait.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_iowait.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const cpuUsageIowait: FormulaValueConfig = { - label: 'iowait', + label: i18n.translate('xpack.infra.assetDetails.formulas.cpuUsage.iowaitLabel', { + defaultMessage: 'iowait', + }), value: 'average(system.cpu.iowait.pct) / max(system.cpu.cores)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_irq.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_irq.ts index 68cdbe9b65ea5..f5fb7f2319769 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_irq.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_irq.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const cpuUsageIrq: FormulaValueConfig = { - label: 'irq', + label: i18n.translate('xpack.infra.assetDetails.formulas.cpuUsage.irqLabel', { + defaultMessage: 'irq', + }), value: 'average(system.cpu.irq.pct) / max(system.cpu.cores)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_nice.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_nice.ts index 6ab8e01fec0c7..94093af85a90d 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_nice.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_nice.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const cpuUsageNice: FormulaValueConfig = { - label: 'nice', + label: i18n.translate('xpack.infra.assetDetails.formulas.cpuUsage.niceLabel', { + defaultMessage: 'nice', + }), value: 'average(system.cpu.nice.norm.pct) / max(system.cpu.cores)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_softirq.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_softirq.ts index bb26685b9d8bc..adc9428a24947 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_softirq.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_softirq.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const cpuUsageSoftirq: FormulaValueConfig = { - label: 'softirq', + label: i18n.translate('xpack.infra.assetDetails.formulas.cpuUsage.softirqLabel', { + defaultMessage: 'softirq', + }), value: 'average(system.cpu.softirq.pct) / max(system.cpu.cores)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_steal.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_steal.ts index ec0fa2652427c..4ca7ffb7c3352 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_steal.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_steal.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const cpuUsageSteal: FormulaValueConfig = { - label: 'steal', + label: i18n.translate('xpack.infra.assetDetails.formulas.cpuUsage.stealLabel', { + defaultMessage: 'steal', + }), value: 'average(system.cpu.steal.pct) / max(system.cpu.cores)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_system.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_system.ts index 303ff89aa256e..591734973647b 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_system.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_system.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const cpuUsageSystem: FormulaValueConfig = { - label: 'system', + label: i18n.translate('xpack.infra.assetDetails.formulas.cpuUsage.systemLabel', { + defaultMessage: 'system', + }), value: 'average(system.cpu.system.pct) / max(system.cpu.cores)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_user.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_user.ts index d24c9b82a199a..8fe8d2baf1f3b 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_user.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/cpu_usage_user.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const cpuUsageUser: FormulaValueConfig = { - label: 'user', + label: i18n.translate('xpack.infra.assetDetails.formulas.cpuUsage.userLabel', { + defaultMessage: 'user', + }), value: 'average(system.cpu.user.pct) / max(system.cpu.cores)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_read_iops.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_read_iops.ts index 7af4e67339565..74f3b6b27b2e2 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_read_iops.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_read_iops.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const diskIORead: FormulaValueConfig = { - label: 'Disk Read IOPS', + label: i18n.translate('xpack.infra.assetDetails.formulas.diskIORead', { + defaultMessage: 'Disk Read IOPS', + }), value: "counter_rate(max(system.diskio.read.count), kql='system.diskio.read.count: *')", format: { id: 'number', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_read_throughput.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_read_throughput.ts index f3f35cb54940f..eb92ba34406e3 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_read_throughput.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_read_throughput.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const diskReadThroughput: FormulaValueConfig = { - label: 'Disk Read Throughput', + label: i18n.translate('xpack.infra.assetDetails.formulas.diskReadThroughput', { + defaultMessage: 'Disk Read Throughput', + }), value: "counter_rate(max(system.diskio.read.bytes), kql='system.diskio.read.bytes: *')", format: { id: 'bytes', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_space_availability.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_space_availability.ts index 11d8346c06d28..02fc69d72b106 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_space_availability.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_space_availability.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const diskSpaceAvailability: FormulaValueConfig = { - label: 'Disk Space Availability', + label: i18n.translate('xpack.infra.assetDetails.formulas.diskSpaceAvailability', { + defaultMessage: 'Disk Space Availability', + }), value: '1 - average(system.filesystem.used.pct)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_space_available.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_space_available.ts index 2d55c085deb0b..f8d34c24ffee0 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_space_available.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_space_available.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const diskSpaceAvailable: FormulaValueConfig = { - label: 'Disk Space Available', + label: i18n.translate('xpack.infra.assetDetails.formulas.diskSpaceAvailable', { + defaultMessage: 'Disk Space Available', + }), value: 'average(system.filesystem.free)', format: { id: 'bytes', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_usage.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_usage.ts index c45ebac82a9e8..bce105387021f 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_usage.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_usage.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const diskUsage: FormulaValueConfig = { - label: 'Disk Usage', + label: i18n.translate('xpack.infra.assetDetails.formulas.diskUsage', { + defaultMessage: 'Disk Usage', + }), value: 'average(system.filesystem.used.pct)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_write_iops.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_write_iops.ts index b3a8e62200c15..6936f6eee3d6c 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_write_iops.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_write_iops.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const diskIOWrite: FormulaValueConfig = { - label: 'Disk Write IOPS', + label: i18n.translate('xpack.infra.assetDetails.formulas.diskIOWrite', { + defaultMessage: 'Disk Write IOPS', + }), value: "counter_rate(max(system.diskio.write.count), kql='system.diskio.write.count: *')", format: { id: 'number', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_write_throughput.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_write_throughput.ts index 1ba401d011479..6c1a536c7a3a1 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_write_throughput.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/disk_write_throughput.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const diskWriteThroughput: FormulaValueConfig = { - label: 'Disk Write Throughput', + label: i18n.translate('xpack.infra.assetDetails.formulas.diskWriteThroughput', { + defaultMessage: 'Disk Write Throughput', + }), value: "counter_rate(max(system.diskio.write.bytes), kql='system.diskio.write.bytes: *')", format: { id: 'bytes', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/host_count.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/host_count.ts index f34a9d1913e49..1fb01045d6eed 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/host_count.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/host_count.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const hostCount: FormulaValueConfig = { - label: 'Hosts', + label: i18n.translate('xpack.infra.assetDetails.formulas.hostCount.hostsLabel', { + defaultMessage: 'Hosts', + }), value: 'unique_count(host.name)', format: { id: 'number', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_15m.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_15m.ts index f34ee8aa31bdf..84b865d4081c6 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_15m.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_15m.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const load15m: FormulaValueConfig = { - label: 'Load (15m)', + label: i18n.translate('xpack.infra.assetDetails.formulas.load15m', { + defaultMessage: 'Load (15m)', + }), value: 'average(system.load.15)', format: { id: 'number', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_1m.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_1m.ts index ac11637fdab56..8656176be2f04 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_1m.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_1m.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const load1m: FormulaValueConfig = { - label: 'Load (1m)', + label: i18n.translate('xpack.infra.assetDetails.formulas.load1m', { + defaultMessage: 'Load (1m)', + }), value: 'average(system.load.1)', format: { id: 'number', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_5m.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_5m.ts index 1fb8c15fc5888..b76ae333f093d 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_5m.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/load_5m.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const load5m: FormulaValueConfig = { - label: 'Load (5m)', + label: i18n.translate('xpack.infra.assetDetails.formulas.load5m', { + defaultMessage: 'Load (5m)', + }), value: 'average(system.load.5)', format: { id: 'number', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/log_rate.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/log_rate.ts index 3365efca35ebb..2db54217e3231 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/log_rate.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/log_rate.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const logRate: FormulaValueConfig = { - label: 'Log Rate', + label: i18n.translate('xpack.infra.assetDetails.formulas.logRate', { + defaultMessage: 'Log Rate', + }), value: 'differences(cumulative_sum(count()))', format: { id: 'number', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_cache.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_cache.ts index 6688f51fb49c5..10e54d99dc62c 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_cache.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_cache.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const memoryCache: FormulaValueConfig = { - label: 'cache', + label: i18n.translate('xpack.infra.assetDetails.formulas.metric.label.cache', { + defaultMessage: 'cache', + }), value: 'average(system.memory.used.bytes) - average(system.memory.actual.used.bytes)', format: { id: 'bytes', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_free.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_free.ts index 5221faa86b3be..8b2032a63a5e6 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_free.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_free.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const memoryFree: FormulaValueConfig = { - label: 'Memory Free', + label: i18n.translate('xpack.infra.assetDetails.formulas.memoryFree', { + defaultMessage: 'Memory Free', + }), value: 'max(system.memory.total) - average(system.memory.actual.used.bytes)', format: { id: 'bytes', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_free_excluding_cache.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_free_excluding_cache.ts index 96890b22a7472..71f03b974bf32 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_free_excluding_cache.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_free_excluding_cache.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const memoryFreeExcludingCache: FormulaValueConfig = { - label: 'free', + label: i18n.translate('xpack.infra.assetDetails.formulas.metric.label.free', { + defaultMessage: 'free', + }), value: 'average(system.memory.free)', format: { id: 'bytes', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_usage.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_usage.ts index d7074968ce8b0..59e09889e65a6 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_usage.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_usage.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const memoryUsage: FormulaValueConfig = { - label: 'Memory Usage', + label: i18n.translate('xpack.infra.assetDetails.formulas.memoryUsage', { + defaultMessage: 'Memory Usage', + }), value: 'average(system.memory.actual.used.pct)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_used.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_used.ts index 8df1f24353d6a..2c02a22f393be 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_used.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/memory_used.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const memoryUsed: FormulaValueConfig = { - label: 'used', + label: i18n.translate('xpack.infra.assetDetails.formulas.metric.label.used', { + defaultMessage: 'used', + }), value: 'average(system.memory.actual.used.bytes)', format: { id: 'bytes', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_active_connections.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_active_connections.ts index a7a8d80706e4c..9420f94ce49d5 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_active_connections.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_active_connections.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const nginxActiveConnections: FormulaValueConfig = { - label: 'Active Connections', + label: i18n.translate('xpack.infra.assetDetails.formulas.nginx.activeConnections', { + defaultMessage: 'Active Connections', + }), value: 'average(nginx.stubstatus.active)', format: { id: 'number', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_request_rate.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_request_rate.ts index fd1f7a5956286..86b56e8e8bb5a 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_request_rate.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_request_rate.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const nginxRequestRate: FormulaValueConfig = { - label: 'Request Rate', + label: i18n.translate('xpack.infra.assetDetails.formulas.nginx.requestRate', { + defaultMessage: 'Request Rate', + }), value: 'differences(max(nginx.stubstatus.requests))', format: { id: 'number', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_requests_per_connection.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_requests_per_connection.ts index 752eda44ffcca..0bb168c06a4e8 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_requests_per_connection.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/nginx_requests_per_connection.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const nginxRequestsPerConnection: FormulaValueConfig = { - label: 'Requests Per Connection', + label: i18n.translate('xpack.infra.assetDetails.formulas.nginx.requestsPerConnection', { + defaultMessage: 'Requests Per Connection', + }), value: 'max(nginx.stubstatus.requests) / max(nginx.stubstatus.handled)', format: { id: 'number', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/normalized_load_1m.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/normalized_load_1m.ts index 3071804f3b5b4..d0e70374829e4 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/normalized_load_1m.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/normalized_load_1m.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const normalizedLoad1m: FormulaValueConfig = { - label: 'Normalized Load', + label: i18n.translate('xpack.infra.assetDetails.formulas.normalizedLoad1m', { + defaultMessage: 'Normalized Load', + }), value: 'average(system.load.1) / max(system.load.cores)', format: { id: 'percent', diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/rx.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/rx.ts index 25f03ff811e76..87536f1a573e2 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/rx.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/rx.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const rx: FormulaValueConfig = { - label: 'Network Inbound (RX)', + label: i18n.translate('xpack.infra.assetDetails.formulas.rx', { + defaultMessage: 'Network Inbound (RX)', + }), value: "average(host.network.ingress.bytes) * 8 / (max(metricset.period, kql='host.network.ingress.bytes: *') / 1000)", format: { diff --git a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/tx.ts b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/tx.ts index 42608398e255e..2aefe2c4cd115 100644 --- a/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/tx.ts +++ b/x-pack/plugins/infra/public/common/visualizations/lens/formulas/host/tx.ts @@ -5,10 +5,13 @@ * 2.0. */ +import { i18n } from '@kbn/i18n'; import type { FormulaValueConfig } from '@kbn/lens-embeddable-utils'; export const tx: FormulaValueConfig = { - label: 'Network Outbound (TX)', + label: i18n.translate('xpack.infra.assetDetails.formulas.tx', { + defaultMessage: 'Network Outbound (TX)', + }), value: "average(host.network.egress.bytes) * 8 / (max(metricset.period, kql='host.network.egress.bytes: *') / 1000)", format: { From 8db833d1a356e6226365f0c188095885b2a3f082 Mon Sep 17 00:00:00 2001 From: Milton Hultgren <milton.hultgren@elastic.co> Date: Tue, 19 Sep 2023 10:44:45 +0200 Subject: [PATCH 116/149] [monitoring] Add note about Beat metric delta calculations (#166629) Closes #166139 This PR only adds an in code comment to document the results of the investigation done for this issue. If the issue occurs more frequently we may revisit this and extend the UI to communicate the same information. --- .../monitoring/server/lib/beats/_beats_stats.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/x-pack/plugins/monitoring/server/lib/beats/_beats_stats.ts b/x-pack/plugins/monitoring/server/lib/beats/_beats_stats.ts index e63e28f9f3e7a..2f423afbb0501 100644 --- a/x-pack/plugins/monitoring/server/lib/beats/_beats_stats.ts +++ b/x-pack/plugins/monitoring/server/lib/beats/_beats_stats.ts @@ -9,6 +9,18 @@ import { upperFirst } from 'lodash'; import type { BeatsElasticsearchResponse, BucketCount } from './types'; export const getDiffCalculation = (max: number | null, min: number | null) => { + /* + Note: This function calculates the delta between the first and last document in the time range + in order to display in the UI. If both the first and last document have the same counter value + reported, which may happen when events are not happening continuously, the UI will display 0. + Another case where the UI might display confusing information is in case the Beat was not + monitored from the start, in which case the first ingested document will have a non 0 counter + value. As an example, if Filebeat has ingested 30 000 lines when the monitoring starts, the + first document will have the counter set to 30 000, if another 20 000 documents are collected + the delta will only show 20 000 rather than the counter value of 50 000. The fact that the + counter "started" (from the perspective of monitoring) at 30 000 is lost. + */ + // no need to test max >= 0, but min <= 0 which is normal for a derivative after restart // because we are aggregating/collapsing on ephemeral_ids if (max !== null && min !== null && max >= 0 && min >= 0 && max >= min) { From e645efa26a2eae1baf0db860bbaf1b0898d664d3 Mon Sep 17 00:00:00 2001 From: GitStart <1501599+gitstart@users.noreply.github.com> Date: Tue, 19 Sep 2023 10:11:58 +0100 Subject: [PATCH 117/149] [Cases] Disable add new connector button in configure cases when user have read permission for actions (#164953) Co-authored-by: Anjola Adeuyi <57623705+anjola-adeuyi@users.noreply.github.com> Co-authored-by: gitstart_bot <gitstart_bot@users.noreply.github.com> Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: KlingerMatheus <klinger.matheus@gitstart.dev> --- .../connectors_dropdown.test.tsx | 26 +++++++++++++++++++ .../configure_cases/connectors_dropdown.tsx | 6 +++-- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/cases/public/components/configure_cases/connectors_dropdown.test.tsx b/x-pack/plugins/cases/public/components/configure_cases/connectors_dropdown.test.tsx index d36ba676357cf..1747f7b397774 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/connectors_dropdown.test.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/connectors_dropdown.test.tsx @@ -15,6 +15,13 @@ import type { Props } from './connectors_dropdown'; import { ConnectorsDropdown } from './connectors_dropdown'; import { TestProviders } from '../../common/mock'; import { connectors } from './__mock__'; +import userEvent from '@testing-library/user-event'; +import { useApplicationCapabilities } from '../../common/lib/kibana'; + +const useApplicationCapabilitiesMock = useApplicationCapabilities as jest.Mocked< + typeof useApplicationCapabilities +>; +jest.mock('../../common/lib/kibana'); describe('ConnectorsDropdown', () => { let wrapper: ReactWrapper; @@ -295,4 +302,23 @@ describe('ConnectorsDropdown', () => { ); expect(tooltips[0]).toBeInTheDocument(); }); + + test('it should hide the "Add New Connector" button when the user lacks the capability to add a new connector', async () => { + const selectedConnector = 'none'; + useApplicationCapabilitiesMock().actions = { crud: false, read: true }; + render( + <ConnectorsDropdown + appendAddConnectorButton={true} + connectors={[]} + selectedConnector={selectedConnector} + disabled={false} + isLoading={false} + onChange={() => {}} + />, + { wrapper: ({ children }) => <TestProviders>{children}</TestProviders> } + ); + + userEvent.click(screen.getByTestId('dropdown-connectors')); + expect(screen.queryByTestId('dropdown-connector-add-connector')).not.toBeInTheDocument(); + }); }); diff --git a/x-pack/plugins/cases/public/components/configure_cases/connectors_dropdown.tsx b/x-pack/plugins/cases/public/components/configure_cases/connectors_dropdown.tsx index db4ea027a087f..d75b29d2ce858 100644 --- a/x-pack/plugins/cases/public/components/configure_cases/connectors_dropdown.tsx +++ b/x-pack/plugins/cases/public/components/configure_cases/connectors_dropdown.tsx @@ -12,7 +12,7 @@ import styled from 'styled-components'; import { euiStyled } from '@kbn/kibana-react-plugin/common'; import type { ActionConnector } from '../../containers/configure/types'; import * as i18n from './translations'; -import { useKibana } from '../../common/lib/kibana'; +import { useApplicationCapabilities, useKibana } from '../../common/lib/kibana'; import { getConnectorIcon, isDeprecatedConnector } from '../utils'; export interface Props { @@ -76,6 +76,8 @@ const ConnectorsDropdownComponent: React.FC<Props> = ({ appendAddConnectorButton = false, }) => { const { triggersActionsUi } = useKibana().services; + const { actions } = useApplicationCapabilities(); + const canSave = actions.crud; const connectorsAsOptions = useMemo(() => { const connectorsFormatted = connectors.reduce( (acc, connector) => { @@ -117,7 +119,7 @@ const ConnectorsDropdownComponent: React.FC<Props> = ({ [noConnectorOption] ); - if (appendAddConnectorButton) { + if (appendAddConnectorButton && canSave) { return [...connectorsFormatted, addNewConnector]; } From e3af1246cf870046b328802540b04c1b0b1b50ab Mon Sep 17 00:00:00 2001 From: Yngrid Coello <yngrid.coello@elastic.co> Date: Tue, 19 Sep 2023 11:12:16 +0200 Subject: [PATCH 118/149] [Logs onboarding] Fixing glitch on steps transition (#166467) Closes https://github.com/elastic/kibana/issues/166001. The problem was we were rendering the component twice. Also took the opportunity to fix some debt in our cypress tests due to this duplication. ### Before (slowed down) https://github.com/elastic/kibana/assets/1313018/c7ab3d09-9d47-4dee-94c4-56c681383186 ### After (slowed down) https://github.com/elastic/kibana/assets/1313018/4486d93a-0b7c-454f-add9-8a72b9e00698 ### How to test It's a bit tricky to test it, you would need to perform a recording where you would need to start a `Stream log files` type of onboarding, complete the required fields and click on continue.. Then, lower the speed of the video and check the component is not being rendered twice. --- .../e2e/logs/custom_logs/configure.cy.ts | 24 +++++-------------- .../custom_logs/install_elastic_agent.cy.ts | 9 ++----- .../shared/filmstrip_transition.tsx | 2 +- .../public/routes/templates/custom_logs.tsx | 20 +++++++--------- 4 files changed, 18 insertions(+), 37 deletions(-) diff --git a/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts index d4f95d0256870..0d345d2eb2a90 100644 --- a/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts +++ b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/configure.cy.ts @@ -24,7 +24,6 @@ describe('[Logs onboarding] Custom logs - configure step', () => { it('Users should be able to continue if logFilePaths is not empty', () => { cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type('myLogs.log'); cy.getByTestSubj('obltOnboardingCustomLogsContinue').should( 'not.be.disabled' @@ -32,13 +31,13 @@ describe('[Logs onboarding] Custom logs - configure step', () => { }); it('Users can add multiple logFilePaths', () => { - cy.getByTestSubj('obltOnboardingCustomLogsAddFilePath').first().click(); + cy.getByTestSubj('obltOnboardingCustomLogsAddFilePath').click(); cy.getByTestSubj('obltOnboardingLogFilePath-0').should('exist'); cy.getByTestSubj('obltOnboardingLogFilePath-1').should('exist'); }); it('Users can delete logFilePaths', () => { - cy.getByTestSubj('obltOnboardingCustomLogsAddFilePath').first().click(); + cy.getByTestSubj('obltOnboardingCustomLogsAddFilePath').click(); cy.get('*[data-test-subj^="obltOnboardingLogFilePath-"]').should( 'have.length', 2 @@ -55,7 +54,6 @@ describe('[Logs onboarding] Custom logs - configure step', () => { it('datasetname and integration name are auto generated if it is the first path', () => { cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type('myLogs.log'); cy.getByTestSubj('obltOnboardingCustomLogsIntegrationsName').should( 'have.value', @@ -68,10 +66,9 @@ describe('[Logs onboarding] Custom logs - configure step', () => { }); it('datasetname and integration name are not generated if it is not the first path', () => { - cy.getByTestSubj('obltOnboardingCustomLogsAddFilePath').first().click(); + cy.getByTestSubj('obltOnboardingCustomLogsAddFilePath').click(); cy.getByTestSubj('obltOnboardingLogFilePath-1') .find('input') - .first() .type('myLogs.log'); cy.getByTestSubj('obltOnboardingCustomLogsIntegrationsName').should( 'be.empty' @@ -90,7 +87,6 @@ describe('[Logs onboarding] Custom logs - configure step', () => { cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type('myLogs.log'); }); @@ -109,7 +105,6 @@ describe('[Logs onboarding] Custom logs - configure step', () => { cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type('myLogs.log'); }); @@ -187,17 +182,15 @@ describe('[Logs onboarding] Custom logs - configure step', () => { cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type('myLogs.log'); }); it('Users should not be able to continue if they do not specify an integrationName', () => { cy.getByTestSubj('obltOnboardingCustomLogsIntegrationsName').clear(); - // https://github.com/elastic/kibana/issues/165778 - // cy.getByTestSubj('obltOnboardingCustomLogsContinue').should( - // 'be.disabled' - // ); + cy.getByTestSubj('obltOnboardingCustomLogsContinue').should( + 'be.disabled' + ); }); it('value will contain _ instead of special chars', () => { @@ -227,7 +220,6 @@ describe('[Logs onboarding] Custom logs - configure step', () => { cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type('myLogs.log'); }); @@ -273,7 +265,6 @@ describe('[Logs onboarding] Custom logs - configure step', () => { cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type(`${CUSTOM_INTEGRATION_NAME}.log`); cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); @@ -293,7 +284,6 @@ describe('[Logs onboarding] Custom logs - configure step', () => { cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type(`${CUSTOM_INTEGRATION_NAME}.log`); cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); @@ -318,7 +308,6 @@ describe('[Logs onboarding] Custom logs - configure step', () => { cy.installCustomIntegration(CUSTOM_INTEGRATION_NAME); cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type(`${CUSTOM_INTEGRATION_NAME}.log`); cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); @@ -341,7 +330,6 @@ describe('[Logs onboarding] Custom logs - configure step', () => { cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type(`${CUSTOM_INTEGRATION_NAME}.log`); cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); }); diff --git a/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts index c0175455efa8f..1307b4da93100 100644 --- a/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts +++ b/x-pack/plugins/observability_onboarding/e2e/cypress/e2e/logs/custom_logs/install_elastic_agent.cy.ts @@ -18,7 +18,6 @@ describe('[Logs onboarding] Custom logs - install elastic agent', () => { cy.getByTestSubj('obltOnboardingLogFilePath-0') .find('input') - .first() .type('mylogs.log'); cy.getByTestSubj('obltOnboardingCustomLogsContinue').click(); @@ -147,9 +146,7 @@ describe('[Logs onboarding] Custom logs - install elastic agent', () => { it('autoDownloadConfig flag is added to installation script', () => { cy.getByTestSubj( 'obltOnboardingInstallElasticAgentAutoDownloadConfig' - ) - .first() - .click(); + ).click(); cy.getByTestSubj( 'obltOnboardingInstallElasticAgentAutoDownloadConfigCallout' ).should('exist'); @@ -161,9 +158,7 @@ describe('[Logs onboarding] Custom logs - install elastic agent', () => { it('Download config button is disabled', () => { cy.getByTestSubj( 'obltOnboardingInstallElasticAgentAutoDownloadConfig' - ) - .first() - .click(); + ).click(); cy.getByTestSubj( 'obltOnboardingConfigureElasticAgentStepDownloadConfig' ).should('be.disabled'); diff --git a/x-pack/plugins/observability_onboarding/public/components/shared/filmstrip_transition.tsx b/x-pack/plugins/observability_onboarding/public/components/shared/filmstrip_transition.tsx index df877c2856733..39389ce5ec94b 100644 --- a/x-pack/plugins/observability_onboarding/public/components/shared/filmstrip_transition.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/shared/filmstrip_transition.tsx @@ -23,7 +23,7 @@ export function FilmstripTransition({ flexGrow: 1, position: 'relative', zIndex: 0, - transitionTimingFunction: 'ease-out', + transitionTimingFunction: 'ease-in-out', transition: transition !== 'ready' ? `transform ${duration}ms` : undefined, transform: diff --git a/x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx b/x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx index bd31340edbf21..c2a18238943d2 100644 --- a/x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx +++ b/x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx @@ -89,18 +89,16 @@ function AnimatedTransitionsWizard({ children }: Props) { duration={TRANSITION_DURATION} transition={transition} > - <FilmstripFrame position="left"> - { - // eslint-disable-next-line react/jsx-pascal-case - transition === 'back' ? <TransitionComponent.current /> : null - } - </FilmstripFrame> - <FilmstripFrame position="center">{children}</FilmstripFrame> - <FilmstripFrame position="right"> - { - // eslint-disable-next-line react/jsx-pascal-case - transition === 'next' ? <TransitionComponent.current /> : null + <FilmstripFrame + position={ + transition === 'ready' + ? 'center' + : transition === 'back' + ? 'left' + : 'right' } + > + {children} </FilmstripFrame> </FilmstripTransition> </EuiFlexItem> From ac73d1f6b23eca7cad2e92e1a2cd1aae872ad9c4 Mon Sep 17 00:00:00 2001 From: Michael Dokolin <mikhail.dokolin@elastic.co> Date: Tue, 19 Sep 2023 11:18:45 +0200 Subject: [PATCH 119/149] [Saved Objects] Fix document migrator to prevent losing namespaces on import (#164848) --- .../document_migrator.test.ts | 30 +++++++++++++++++++ .../document_migrator/internal_transforms.ts | 7 +++++ 2 files changed, 37 insertions(+) diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts index 2e3a99b4b463e..43cf127a9ab19 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/document_migrator.test.ts @@ -713,6 +713,36 @@ describe('DocumentMigrator', () => { ]); }); + it('does not lose namespaces in documents with undefined namespace and defined namespaces property', () => { + const migrator = new DocumentMigrator({ + ...testOpts(), + typeRegistry: createRegistry( + { name: 'dog', namespaceType: 'multiple', convertToMultiNamespaceTypeVersion: '1.0.0' } + // no migration transforms are defined, the typeMigrationVersion will be derived from 'convertToMultiNamespaceTypeVersion' + ), + }); + migrator.prepareMigrations(); + const obj = { + id: 'mischievous', + type: 'dog', + attributes: { name: 'Ann' }, + coreMigrationVersion: kibanaVersion, + typeMigrationVersion: '0.1.0', + namespaces: ['something'], + } as SavedObjectUnsanitizedDoc; + const actual = migrator.migrateAndConvert(obj); + expect(actual).toEqual([ + { + id: 'mischievous', + type: 'dog', + attributes: { name: 'Ann' }, + coreMigrationVersion: kibanaVersion, + typeMigrationVersion: '1.0.0', + namespaces: ['something'], + }, + ]); + }); + it('does not fail when encountering documents with coreMigrationVersion higher than the latest known', () => { const migrator = new DocumentMigrator({ ...testOpts(), diff --git a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts index 762fa20342c49..11090badd9173 100644 --- a/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts +++ b/packages/core/saved-objects/core-saved-objects-migration-server-internal/src/document_migrator/internal_transforms.ts @@ -105,6 +105,13 @@ function convertNamespaceType(doc: SavedObjectUnsanitizedDoc) { const { namespace, ...otherAttrs } = doc; const additionalDocs: SavedObjectUnsanitizedDoc[] = []; + if (namespace == null && otherAttrs.namespaces) { + return { + additionalDocs, + transformedDoc: otherAttrs, + }; + } + // If this object exists in the default namespace, return it with the appropriate `namespaces` field without changing its ID. if (namespace === undefined) { return { From 84cfac7aee0bec4b95e1a484b2bb6f3003549b58 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20St=C3=BCrmer?= <weltenwort@users.noreply.github.com> Date: Tue, 19 Sep 2023 11:25:42 +0200 Subject: [PATCH 120/149] [Log Explorer] Add README for contributors (#166642) Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- docs/developer/plugin-list.asciidoc | 2 +- x-pack/plugins/log_explorer/README.md | 64 +++++++++++++++++++++++++-- 2 files changed, 62 insertions(+), 4 deletions(-) diff --git a/docs/developer/plugin-list.asciidoc b/docs/developer/plugin-list.asciidoc index 48190bc8929be..14b498001225d 100644 --- a/docs/developer/plugin-list.asciidoc +++ b/docs/developer/plugin-list.asciidoc @@ -633,7 +633,7 @@ using the CURL scripts in the scripts folder. |{kib-repo}blob/{branch}/x-pack/plugins/log_explorer/README.md[logExplorer] -|This plugin provides a LogExplorer component using the Discover customization framework, offering several affordances specifically designed for log consumption. +|This plugin is home to the <LogExplorer /> component and related types. It implements several of the underlying concepts that the Observability Log Explorer app builds upon. |{kib-repo}blob/{branch}/x-pack/plugins/logs_shared/README.md[logsShared] diff --git a/x-pack/plugins/log_explorer/README.md b/x-pack/plugins/log_explorer/README.md index bb4a266988a33..bc504d0351804 100755 --- a/x-pack/plugins/log_explorer/README.md +++ b/x-pack/plugins/log_explorer/README.md @@ -1,8 +1,66 @@ # Log Explorer -This plugin provides a `LogExplorer` component using the Discover customization framework, offering several affordances specifically designed for log consumption. +This plugin is home to the `<LogExplorer />` component and related types. It implements several of the underlying concepts that the [Observability Log Explorer app](../observability_log_explorer) builds upon. -The plugin enhances the capabilities of Discover in the following ways: +## Developing the `<LogExplorer />` component -- **Dataset selector**: this customization replaces the DataViews picker with a Logs dataset selector built ad-hoc to provide a better experience when navigating throught all the available datasets. +⚠ The Log Explorer is in early stages of development, so the following partly describes the current situation and partly the intended future scenario. +### Dependencies + +The goal is for this component to be easy to consume by other Kibana plugins. This means that we should avoid introducing any dependency on plugins that might be consumers. If a situation arises, that would close a cycle in the directed dependency graph, we can take one of two approaches: + +- If the newly depended-upon code is not bound to the Kibana plugin life-cycle, it can be factored out into a package that both plugins depend on. +- If it requires integration with the Kibana plugin life-cycle we can invert the direction of the dependency edge by offering a registration API. + +We also want to make this plugin available for consumption in deployments without any observability apps. Any observability-specific concepts should therefore be implemented in the `observability_log_explorer` plugin instead. + +While not fully realized yet, the dependency graph would roughly resemble the following: + +```mermaid +flowchart TD + +obs_log_explorer_app(Observability Log Explorer app) +obs_apps(Other Observability apps) +obs_log_explorer_component(Observability Log Explorer component) +other_apps(Other non-Observability apps) +log_explorer_component(Log Explorer component) +platform(Kibana Platform) +discover(Discover Main container) +fleet(Fleet / EPM) + +obs_log_explorer_app --> obs_log_explorer_component +obs_apps --> obs_log_explorer_component +obs_log_explorer_component --> log_explorer_component +other_apps --> log_explorer_component +log_explorer_component --> discover +log_explorer_component --> platform +log_explorer_component --> fleet +discover --> platform +fleet --> platform +``` + +### API + +When designing the API we face two conflicting goals: + +- It should be easy to consume by any non-observability app. This means... + - its API needs to be relatively stable and straightforward. + - it should not perform any page-wide changes that could interfere with consuming app's page state (such as URL changes). +- It should be extensible so the Observability Log Explorer can build on top of this. + +In its current state the `<LogExplorer />` achieves neither goal. To resolve the tension in the future we could export two variants with different sets of properties. + +### Principles + +**State drives the UI**: When the state and side-effects are scattered throughout the react element hierarchy using hooks, it becomes difficult to reason about the overall application state and the order in which transitions and side-effects take place. To avoid that we're aiming for an approach in which a hierarchy of statecharts is started, that encode state, transitions, and side-effects. + +**Minimize custom styling**: EUI is a great library of React components that cover 99% of the use cases. For the 1%, in which an EUI component doesn't quite fit the needs, we should try to enhance EUI instead of overriding its styles locally. + +## Resources + +- [Statecharts overview](https://statecharts.dev/) +- [Statecharts: A Visual Formalism For Complex Systems (original paper)](https://www.wisdom.weizmann.ac.il/~harel/papers/Statecharts.pdf) +- [XState documentation](https://stately.ai/docs/xstate) +- [XState VS Code extension](https://stately.ai/docs/tools/xstate-vscode-extension) +- [`infra` plugin's state machine patterns](../infra/docs/state_machines/README.md) From f8927dd1fe45448f0e3e4bdfdbdc6c5009a5b614 Mon Sep 17 00:00:00 2001 From: Sergi Massaneda <sergi.massaneda@elastic.co> Date: Tue, 19 Sep 2023 11:32:30 +0200 Subject: [PATCH 121/149] [Security Solution] Fix tab navigation scrolling to top (#166655) ## Summary issue: https://github.com/elastic/kibana/issues/163606 Fixes the bug on the Security tab navigation component scrolling to the top of the page when clicked. ### Problem As described in the React Router [docs](https://v5.reactrouter.com/web/guides/scroll-restoration), all browsers introduced scroll reset in the `history.pushState` API ([spec](https://majido.github.io/scroll-restoration-proposal/history-based-api.html#web-idl)), which is the expected behavior on most of the regular navigation actions, however in some cases such as the tabs navigation we don't want the scrolling to be reset to the top after pushing the URL. The spec also defines the `window.history.scrollRestoration` API to configure this behavior ('manual' or 'auto'), but it does not work correctly when using `react-route-dom` history object to navigate. React Router v5 also provides a `ScrollRestoration` component to solve this problem, but it only works with _"data router"_ type, we use _"browser router"_ in Kibana, which is not supported by this tool. There are other libraries that also solve this problem, implementing a very similar approach, such as [react-scroll-restoration](https://github.com/nanyang24/react-scroll-restoration). ### Solution Instead of loading new external modules, I implemented the same approach integrating it into our Security navigation tools: The `navigateTo` function now accepts a new `restoreScroll` option prop, when set to `true` it will prevent the scroll reset after navigating by restoring the previous scroll position when it receives the event triggered by the Browser. In the case of using an old browser version that does not trigger the scroll reset after the navigation, this change will have no implication other than losing the first scroll event after the navigation, this will be very hard to notice since many events are sent when a user scrolls manually. ## Recordings Before: https://github.com/elastic/kibana/assets/17747913/464f708a-f373-47b9-9826-a5cfa7473f5b After: https://github.com/elastic/kibana/assets/17747913/46d99b12-69e8-410a-a700-ca9ef7f5c2a4 Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../navigation/src/navigation.test.ts | 18 +++++++++++++++++ .../navigation/src/navigation.ts | 20 ++++++++++++++++++- .../tab_navigation/tab_navigation.tsx | 2 +- 3 files changed, 38 insertions(+), 2 deletions(-) diff --git a/x-pack/packages/security-solution/navigation/src/navigation.test.ts b/x-pack/packages/security-solution/navigation/src/navigation.test.ts index 2875f79956332..ab9ab891aaef8 100644 --- a/x-pack/packages/security-solution/navigation/src/navigation.test.ts +++ b/x-pack/packages/security-solution/navigation/src/navigation.test.ts @@ -7,6 +7,7 @@ import { useGetAppUrl, useNavigateTo } from './navigation'; import { mockGetUrlForApp, mockNavigateToApp, mockNavigateToUrl } from '../mocks/context'; import { renderHook } from '@testing-library/react-hooks'; +import { fireEvent } from '@testing-library/dom'; jest.mock('./context'); @@ -61,5 +62,22 @@ describe('yourFile', () => { expect(mockNavigateToApp).not.toHaveBeenCalled(); expect(mockNavigateToUrl).toHaveBeenCalledWith(URL); }); + + it('navigates restoring the scroll', async () => { + const { result } = renderHook(useNavigateTo); + const { navigateTo } = result.current; + + const currentScrollY = 100; + window.scrollY = currentScrollY; + window.scrollTo = jest.fn(); + + navigateTo({ url: URL, restoreScroll: true }); + + // Simulates the browser scroll reset event + fireEvent(window, new Event('scroll')); + + expect(window.scrollTo).toHaveBeenCalledTimes(1); + expect(window.scrollTo).toHaveBeenCalledWith(0, currentScrollY); + }); }); }); diff --git a/x-pack/packages/security-solution/navigation/src/navigation.ts b/x-pack/packages/security-solution/navigation/src/navigation.ts index bb8e6ae5a6e4e..7474baf1fd3ba 100644 --- a/x-pack/packages/security-solution/navigation/src/navigation.ts +++ b/x-pack/packages/security-solution/navigation/src/navigation.ts @@ -34,6 +34,11 @@ export type NavigateTo = ( param: { url?: string; appId?: string; + /** + * Browsers will reset the scroll position to 0 when navigating to a new page. + * This option will prevent that from happening. + */ + restoreScroll?: boolean; } & NavigateToAppOptions ) => void; /** @@ -44,7 +49,10 @@ export const useNavigateTo = () => { const { navigateToApp, navigateToUrl } = useNavigationContext().application; const navigateTo = useCallback<NavigateTo>( - ({ url, appId = SECURITY_UI_APP_ID, ...options }) => { + ({ url, appId = SECURITY_UI_APP_ID, restoreScroll, ...options }) => { + if (restoreScroll) { + addScrollRestoration(); + } if (url) { navigateToUrl(url); } else { @@ -56,6 +64,16 @@ export const useNavigateTo = () => { return { navigateTo }; }; +/** + * Expects the browser scroll reset event to be fired after the navigation, + * then restores the previous scroll position. + */ +const addScrollRestoration = () => { + const scrollY = window.scrollY; + const handler = () => window.scrollTo(0, scrollY); + window.addEventListener('scroll', handler, { once: true }); +}; + /** * Returns `navigateTo` and `getAppUrl` navigation hooks */ diff --git a/x-pack/plugins/security_solution/public/common/components/navigation/tab_navigation/tab_navigation.tsx b/x-pack/plugins/security_solution/public/common/components/navigation/tab_navigation/tab_navigation.tsx index 24f50df4a5c67..996fdcd1bb176 100644 --- a/x-pack/plugins/security_solution/public/common/components/navigation/tab_navigation/tab_navigation.tsx +++ b/x-pack/plugins/security_solution/public/common/components/navigation/tab_navigation/tab_navigation.tsx @@ -31,7 +31,7 @@ const TabNavigationItemComponent = ({ const handleClick = useCallback( (ev) => { ev.preventDefault(); - navigateTo({ path: hrefWithSearch }); + navigateTo({ path: hrefWithSearch, restoreScroll: true }); track(METRIC_TYPE.CLICK, `${TELEMETRY_EVENT.TAB_CLICKED}${id}`); }, [navigateTo, hrefWithSearch, id] From 3c3ae8b49a5ab536ff0ce61c5119fa0c6445f9d7 Mon Sep 17 00:00:00 2001 From: Elena Stoeva <59341489+ElenaStoeva@users.noreply.github.com> Date: Tue, 19 Sep 2023 10:42:36 +0100 Subject: [PATCH 122/149] [Index Management] Fix serverless API integration tests (#166203) Fixes https://github.com/elastic/kibana/issues/165565 Fixes https://github.com/elastic/kibana/issues/165609 ## Summary Two of the PUT requests in the IM serverless API integration tests were failing with the following error: `{"statusCode":400,"error":"Bad Request","message":"uri [https://localhost:5620/internal/index_management/indices/create] with method [put] exists but is not available with the current configuration"}`. I think this is because they were missing the `x-elastic-internal-origin` header which needs to be provided when we try to access an internal API in serverless outside of the `core.http` service. Once I added the headers, the tests started passing successfully. --------- Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../test_suites/common/index_management/indices.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/x-pack/test_serverless/api_integration/test_suites/common/index_management/indices.ts b/x-pack/test_serverless/api_integration/test_suites/common/index_management/indices.ts index 28b88190b2f53..9c4fd7b196337 100644 --- a/x-pack/test_serverless/api_integration/test_suites/common/index_management/indices.ts +++ b/x-pack/test_serverless/api_integration/test_suites/common/index_management/indices.ts @@ -17,12 +17,19 @@ export default function ({ getService }: FtrProviderContext) { const es = getService('es'); const log = getService('log'); - // FLAKY: https://github.com/elastic/kibana/issues/165565 - describe.skip('Indices', function () { + describe('Indices', function () { const indexName = `index-${Math.random()}`; before(async () => { // Create a new index to test against + const indexExists = await es.indices.exists({ index: indexName }); + + // Index should not exist, but in the case that it already does, we bypass the create request + if (indexExists) { + return; + } + + log.debug(`Creating index: '${indexName}'`); try { await es.indices.create({ index: indexName }); } catch (err) { @@ -99,6 +106,7 @@ export default function ({ getService }: FtrProviderContext) { await supertest .put(`${INTERNAL_API_BASE_PATH}/indices/create`) .set('kbn-xsrf', 'xxx') + .set('x-elastic-internal-origin', 'xxx') .send({ indexName: createIndexName, }) @@ -119,6 +127,7 @@ export default function ({ getService }: FtrProviderContext) { await supertest .put(`${INTERNAL_API_BASE_PATH}/indices/create`) .set('kbn-xsrf', 'xxx') + .set('x-elastic-internal-origin', 'xxx') .send({ indexName: createIndexName, }) From 9f23e533041527ffc9505e9abd9554981270c930 Mon Sep 17 00:00:00 2001 From: Jordan <51442161+JordanSh@users.noreply.github.com> Date: Tue, 19 Sep 2023 12:57:39 +0300 Subject: [PATCH 123/149] [Cloud Security] Evidence section (#166378) --- .../common/constants.ts | 2 +- .../findings_flyout/overview_tab.tsx | 50 +++++++++++-------- .../translations/translations/fr-FR.json | 2 - .../translations/translations/ja-JP.json | 2 - .../translations/translations/zh-CN.json | 2 - 5 files changed, 30 insertions(+), 28 deletions(-) diff --git a/x-pack/plugins/cloud_security_posture/common/constants.ts b/x-pack/plugins/cloud_security_posture/common/constants.ts index 587fbdce8cc86..e1bcdc1f9a95f 100644 --- a/x-pack/plugins/cloud_security_posture/common/constants.ts +++ b/x-pack/plugins/cloud_security_posture/common/constants.ts @@ -80,7 +80,7 @@ export const POSTURE_TYPE_ALL = 'all'; // activated via a simple code change in a single location. export const INTERNAL_FEATURE_FLAGS = { showManageRulesMock: false, - showFindingFlyoutEvidence: false, + showFindingFlyoutEvidence: true, } as const; export const CSP_RULE_TEMPLATE_SAVED_OBJECT_TYPE = 'csp-rule-template'; diff --git a/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/overview_tab.tsx b/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/overview_tab.tsx index cb906b99ef21b..e6e5b1386652d 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/overview_tab.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/configurations/findings_flyout/overview_tab.tsx @@ -18,6 +18,8 @@ import React, { useMemo } from 'react'; import moment from 'moment'; import type { EuiDescriptionListProps, EuiAccordionProps } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { isEmpty } from 'lodash'; import { truthy } from '../../../../common/utils/helpers'; import { CSP_MOMENT_FORMAT } from '../../../common/constants'; import { @@ -28,7 +30,7 @@ import { import { useLatestFindingsDataView } from '../../../common/api/use_latest_findings_data_view'; import { useKibana } from '../../../common/hooks/use_kibana'; import { CspFinding } from '../../../../common/schemas/csp_finding'; -import { CisKubernetesIcons, CspFlyoutMarkdown, CodeBlock } from './findings_flyout'; +import { CisKubernetesIcons, CodeBlock, CspFlyoutMarkdown } from './findings_flyout'; import { FindingsDetectionRuleCounter } from './findings_detection_rule_counter'; type Accordion = Pick<EuiAccordionProps, 'title' | 'id' | 'initialIsOpen'> & @@ -141,17 +143,20 @@ export const getRemediationList = (rule: CspFinding['rule']) => [ const getEvidenceList = ({ result }: CspFinding) => [ - result.expected && { - title: i18n.translate('xpack.csp.findings.findingsFlyout.overviewTab.expectedTitle', { - defaultMessage: 'Expected', - }), - description: <CodeBlock>{JSON.stringify(result.expected, null, 2)}</CodeBlock>, - }, { - title: i18n.translate('xpack.csp.findings.findingsFlyout.overviewTab.actualTitle', { - defaultMessage: 'Actual', - }), - description: <CodeBlock>{JSON.stringify(result.evidence, null, 2)}</CodeBlock>, + title: '', + description: ( + <> + <EuiText color="subdued"> + <FormattedMessage + id="xpack.csp.findings.findingsFlyout.overviewTab.evidenceDescription" + defaultMessage="The specific resource metadata that was evaluated to generate this posture finding" + /> + </EuiText> + <EuiSpacer size={'s'} /> + <CodeBlock language="json">{JSON.stringify(result.evidence, null, 2)}</CodeBlock> + </> + ), }, ].filter(truthy); @@ -169,6 +174,8 @@ export const OverviewTab = ({ data }: { data: CspFinding }) => { [discover.locator, latestFindingsDataView.data?.id] ); + const hasEvidence = !isEmpty(data.result.evidence); + const accordions: Accordion[] = useMemo( () => [ @@ -188,17 +195,18 @@ export const OverviewTab = ({ data }: { data: CspFinding }) => { id: 'remediationAccordion', listItems: getRemediationList(data.rule), }, - INTERNAL_FEATURE_FLAGS.showFindingFlyoutEvidence && { - initialIsOpen: false, - title: i18n.translate( - 'xpack.csp.findings.findingsFlyout.overviewTab.evidenceSourcesTitle', - { defaultMessage: 'Evidence' } - ), - id: 'evidenceAccordion', - listItems: getEvidenceList(data), - }, + INTERNAL_FEATURE_FLAGS.showFindingFlyoutEvidence && + hasEvidence && { + initialIsOpen: true, + title: i18n.translate( + 'xpack.csp.findings.findingsFlyout.overviewTab.evidenceSourcesTitle', + { defaultMessage: 'Evidence' } + ), + id: 'evidenceAccordion', + listItems: getEvidenceList(data), + }, ].filter(truthy), - [data, discoverIndexLink] + [data, discoverIndexLink, hasEvidence] ); return ( diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 31789c2078294..c1777305c2be3 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -11404,13 +11404,11 @@ "xpack.csp.findings.findingsByResourceTable.postureScoreColumnLabel": "Score du niveau", "xpack.csp.findings.findingsErrorToast.searchFailedTitle": "Échec de la recherche", "xpack.csp.findings.findingsFlyout.jsonTabTitle": "JSON", - "xpack.csp.findings.findingsFlyout.overviewTab.actualTitle": "Réel", "xpack.csp.findings.findingsFlyout.overviewTab.cisSectionTitle": "Section CIS", "xpack.csp.findings.findingsFlyout.overviewTab.defaultValueTitle": "Valeur par défaut", "xpack.csp.findings.findingsFlyout.overviewTab.detailsTitle": "Détails", "xpack.csp.findings.findingsFlyout.overviewTab.evaluatedAtTitle": "Évalué à", "xpack.csp.findings.findingsFlyout.overviewTab.evidenceSourcesTitle": "Preuve", - "xpack.csp.findings.findingsFlyout.overviewTab.expectedTitle": "Attendus", "xpack.csp.findings.findingsFlyout.overviewTab.frameworkSourcesTitle": "Sources du framework", "xpack.csp.findings.findingsFlyout.overviewTab.impactTitle": "Impact", "xpack.csp.findings.findingsFlyout.overviewTab.indexTitle": "Index", diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 88b6cac53927d..b83d747469b97 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -11419,13 +11419,11 @@ "xpack.csp.findings.findingsByResourceTable.postureScoreColumnLabel": "態勢スコア", "xpack.csp.findings.findingsErrorToast.searchFailedTitle": "検索失敗", "xpack.csp.findings.findingsFlyout.jsonTabTitle": "JSON", - "xpack.csp.findings.findingsFlyout.overviewTab.actualTitle": "実際", "xpack.csp.findings.findingsFlyout.overviewTab.cisSectionTitle": "CISセクション", "xpack.csp.findings.findingsFlyout.overviewTab.defaultValueTitle": "デフォルト値", "xpack.csp.findings.findingsFlyout.overviewTab.detailsTitle": "詳細", "xpack.csp.findings.findingsFlyout.overviewTab.evaluatedAtTitle": "評価日", "xpack.csp.findings.findingsFlyout.overviewTab.evidenceSourcesTitle": "証拠", - "xpack.csp.findings.findingsFlyout.overviewTab.expectedTitle": "期待値", "xpack.csp.findings.findingsFlyout.overviewTab.frameworkSourcesTitle": "フレームワークソース", "xpack.csp.findings.findingsFlyout.overviewTab.impactTitle": "インパクト", "xpack.csp.findings.findingsFlyout.overviewTab.indexTitle": "インデックス", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 1328b87d357fa..303f08601b52e 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -11419,13 +11419,11 @@ "xpack.csp.findings.findingsByResourceTable.postureScoreColumnLabel": "态势分数", "xpack.csp.findings.findingsErrorToast.searchFailedTitle": "搜索失败", "xpack.csp.findings.findingsFlyout.jsonTabTitle": "JSON", - "xpack.csp.findings.findingsFlyout.overviewTab.actualTitle": "实际", "xpack.csp.findings.findingsFlyout.overviewTab.cisSectionTitle": "CIS 部分", "xpack.csp.findings.findingsFlyout.overviewTab.defaultValueTitle": "默认值", "xpack.csp.findings.findingsFlyout.overviewTab.detailsTitle": "详情", "xpack.csp.findings.findingsFlyout.overviewTab.evaluatedAtTitle": "评估时间", "xpack.csp.findings.findingsFlyout.overviewTab.evidenceSourcesTitle": "证据", - "xpack.csp.findings.findingsFlyout.overviewTab.expectedTitle": "预期", "xpack.csp.findings.findingsFlyout.overviewTab.frameworkSourcesTitle": "框架源", "xpack.csp.findings.findingsFlyout.overviewTab.impactTitle": "影响", "xpack.csp.findings.findingsFlyout.overviewTab.indexTitle": "索引", From 95868c724a7e598055f98081fbdd9ef74891c11c Mon Sep 17 00:00:00 2001 From: Thomas Watson <watson@elastic.co> Date: Tue, 19 Sep 2023 12:41:51 +0200 Subject: [PATCH 124/149] GitHub create-deploy-tag workflow: Misc changes (#166599) --- .github/workflows/create-deploy-tag.yml | 63 +++++++------------------ 1 file changed, 18 insertions(+), 45 deletions(-) diff --git a/.github/workflows/create-deploy-tag.yml b/.github/workflows/create-deploy-tag.yml index d8bed27102657..b8f98704ceb7b 100644 --- a/.github/workflows/create-deploy-tag.yml +++ b/.github/workflows/create-deploy-tag.yml @@ -87,50 +87,7 @@ jobs: "type": "section", "text": { "type": "mrkdwn", - "text": "Expected Staging promotion date:" - }, - "accessory": { - "type": "datepicker", - "placeholder": { - "type": "plain_text", - "text": "Select a date", - "emoji": true - }, - "action_id": "datepicker-action" - } - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "*Useful links:*\n\n • <https://docs.google.com/document/d/1c2LzojDh1wawjeMsKh4D_L2jpVJALhxukkmmL-TUbrs/edit#heading=h.50173f90utwr|Release process playbook>\n • <https://github.com/elastic/kibana/actions/runs/${{ github.run_id }}|GitHub Workflow run>\n • <https://buildkite.com/elastic/kibana-tests/builds?branch=main|Quality Gate pipeline>\n • <https://argo-workflows.us-central1.gcp.qa.cld.elstc.co/workflows?label=hash%3D${{ env.COMMIT }}|Argo Workflow>\n • <https://platform-logging.kb.us-central1.gcp.foundit.no/app/dashboards#/view/f710d7d0-00b9-11ee-93d2-8df4bca5a4c9?_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1d,to:now))&service-name=kibana&_a=(controlGroupInput:(chainingSystem:HIERARCHICAL,controlStyle:oneLine,ignoreParentSettings:(ignoreFilters:!f,ignoreQuery:!f,ignoreTimerange:!f,ignoreValidations:!f),panels:('18201b8e-3aae-4459-947d-21e007b6a3a5':(explicitInput:(dataViewId:'logs-*',enhancements:(),fieldName:commit-hash,id:'18201b8e-3aae-4459-947d-21e007b6a3a5',selectedOptions:!('${{ env.COMMIT }}'),title:commit-hash),grow:!t,order:1,type:optionsListControl,width:medium),'41060e65-ce4c-414e-b8cf-492ccb19245f':(explicitInput:(dataViewId:'logs-*',enhancements:(),fieldName:service-name,id:'41060e65-ce4c-414e-b8cf-492ccb19245f',selectedOptions:!(kibana),title:service-name),grow:!t,order:0,type:optionsListControl,width:medium),ed96828e-efe9-43ad-be3f-0e04218f79af:(explicitInput:(dataViewId:'logs-*',enhancements:(),fieldName:to-env,id:ed96828e-efe9-43ad-be3f-0e04218f79af,selectedOptions:!(qa),title:to-env),grow:!t,order:2,type:optionsListControl,width:medium))))|GPCTL Logs dashboard>" - } - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "*Day 1 to-do list*" - }, - "accessory": { - "type": "checkboxes", - "options": [ - { - "text": { - "type": "mrkdwn", - "text": "Verify successful promotion to QA" - }, - "value": "value-0" - }, - { - "text": { - "type": "mrkdwn", - "text": "Notify Security Solution team to beging manual testing" - }, - "value": "value-1" - } - ], - "action_id": "checkboxes-action" + "text": "${{ join(fromJSON(env.JSON_USEFUL_LINKS_ARRAY), '\n • ') }}" } } ] @@ -138,6 +95,16 @@ jobs: env: SLACK_WEBHOOK_URL: ${{ secrets.DEPLOY_TAGGER_SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK + JSON_USEFUL_LINKS_ARRAY: | + [ + "*Useful links:*\\n", + "<https://docs.google.com/document/d/1c2LzojDh1wawjeMsKh4D_L2jpVJALhxukkmmL-TUbrs/edit#heading=h.50173f90utwr|Release process playbook>", + "<https://github.com/elastic/kibana/actions/runs/${{ github.run_id }}|GitHub Workflow run>", + "<https://buildkite.com/elastic/kibana-serverless-release/builds?branch=${{ env.TAG_NAME }}|Kibana Serverless Release pipeline>", + "<https://argo-workflows.us-central1.gcp.qa.cld.elstc.co/workflows?label=hash%3D${{ env.COMMIT }}|Argo Workflow>", + "<https://platform-logging.kb.us-central1.gcp.foundit.no/app/dashboards#/view/f710d7d0-00b9-11ee-93d2-8df4bca5a4c9?_g=(refreshInterval:(pause:!t,value:0),time:(from:now-1d,to:now))&service-name=kibana&_a=(controlGroupInput:(chainingSystem:HIERARCHICAL,controlStyle:oneLine,ignoreParentSettings:(ignoreFilters:!f,ignoreQuery:!f,ignoreTimerange:!f,ignoreValidations:!f),panels:('18201b8e-3aae-4459-947d-21e007b6a3a5':(explicitInput:(dataViewId:'logs-*',enhancements:(),fieldName:commit-hash,id:'18201b8e-3aae-4459-947d-21e007b6a3a5',selectedOptions:!('${{ env.COMMIT }}'),title:commit-hash),grow:!t,order:1,type:optionsListControl,width:medium),'41060e65-ce4c-414e-b8cf-492ccb19245f':(explicitInput:(dataViewId:'logs-*',enhancements:(),fieldName:service-name,id:'41060e65-ce4c-414e-b8cf-492ccb19245f',selectedOptions:!(kibana),title:service-name),grow:!t,order:0,type:optionsListControl,width:medium),ed96828e-efe9-43ad-be3f-0e04218f79af:(explicitInput:(dataViewId:'logs-*',enhancements:(),fieldName:to-env,id:ed96828e-efe9-43ad-be3f-0e04218f79af,selectedOptions:!(qa),title:to-env),grow:!t,order:2,type:optionsListControl,width:medium))))|GPCTL Deployment Status dashboard>", + "<https://buildkite.com/elastic/kibana-tests/builds?branch=main|Quality Gate pipeline>" + ] - name: Post Slack failure message if: failure() uses: slackapi/slack-github-action@v1.24.0 @@ -169,7 +136,7 @@ jobs: "type": "section", "text": { "type": "mrkdwn", - "text": "*Useful links:*\n\n • <https://docs.google.com/document/d/1c2LzojDh1wawjeMsKh4D_L2jpVJALhxukkmmL-TUbrs/edit#heading=h.50173f90utwr|Release process playbook>\n • <https://github.com/elastic/kibana/actions/runs/${{ github.run_id }}|GitHub Workflow run>" + "text": "${{ join(fromJSON(env.JSON_USEFUL_LINKS_ARRAY), '\n • ') }}" } } ] @@ -177,3 +144,9 @@ jobs: env: SLACK_WEBHOOK_URL: ${{ secrets.DEPLOY_TAGGER_SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK + JSON_USEFUL_LINKS_ARRAY: | + [ + "*Useful links:*\\n", + "<https://docs.google.com/document/d/1c2LzojDh1wawjeMsKh4D_L2jpVJALhxukkmmL-TUbrs/edit#heading=h.50173f90utwr|Release process playbook>", + "<https://github.com/elastic/kibana/actions/runs/${{ github.run_id }}|GitHub Workflow run>" + ] From ab073a6d3d6fb036f9e63ae370b44e11e93ea32b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= <alejandro.haro@elastic.co> Date: Tue, 19 Sep 2023 12:44:00 +0200 Subject: [PATCH 125/149] [FullStory] Add projectId to the context (#166693) --- packages/analytics/shippers/fullstory/src/fullstory_shipper.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/analytics/shippers/fullstory/src/fullstory_shipper.ts b/packages/analytics/shippers/fullstory/src/fullstory_shipper.ts index 6c1e11c36542d..bcb95ae38f1fb 100644 --- a/packages/analytics/shippers/fullstory/src/fullstory_shipper.ts +++ b/packages/analytics/shippers/fullstory/src/fullstory_shipper.ts @@ -32,6 +32,7 @@ const PAGE_VARS_KEYS = [ 'buildNum', // May be useful for Serverless 'cloudId', 'deploymentId', + 'projectId', // projectId and deploymentId are mutually exclusive. They shouldn't be sent in the same offering. 'cluster_name', 'cluster_uuid', 'cluster_version', From 639d9547a6e0f94622178c7abb48312c3d89d857 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Fern=C3=A1ndez=20Haro?= <alejandro.haro@elastic.co> Date: Tue, 19 Sep 2023 12:49:37 +0200 Subject: [PATCH 126/149] [APM Tracing config] Allow per-service overrides (#166184) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../kbn-apm-config-loader/src/apm_config.ts | 14 ++++-- .../kbn-apm-config-loader/src/config.test.ts | 45 +++++++++++++++++++ packages/kbn-apm-config-loader/src/config.ts | 30 +++++++++++-- 3 files changed, 82 insertions(+), 7 deletions(-) diff --git a/packages/kbn-apm-config-loader/src/apm_config.ts b/packages/kbn-apm-config-loader/src/apm_config.ts index 2127d612d583b..c4f2bfdf60e82 100644 --- a/packages/kbn-apm-config-loader/src/apm_config.ts +++ b/packages/kbn-apm-config-loader/src/apm_config.ts @@ -6,14 +6,22 @@ * Side Public License, v 1. */ -import { schema } from '@kbn/config-schema'; +import { schema, TypeOf } from '@kbn/config-schema'; -export const apmConfigSchema = schema.object( +export type ApmConfigSchema = TypeOf<typeof apmConfigSchema>; + +const apmReusableConfigSchema = schema.object( { active: schema.maybe(schema.boolean()), serverUrl: schema.maybe(schema.uri()), secretToken: schema.maybe(schema.string()), - globalLabels: schema.object({}, { unknowns: 'allow' }), + apiKey: schema.maybe(schema.string()), + environment: schema.maybe(schema.string()), + globalLabels: schema.maybe(schema.object({}, { unknowns: 'allow' })), }, { unknowns: 'allow' } ); + +export const apmConfigSchema = apmReusableConfigSchema.extends({ + servicesOverrides: schema.maybe(schema.recordOf(schema.string(), apmReusableConfigSchema)), +}); diff --git a/packages/kbn-apm-config-loader/src/config.test.ts b/packages/kbn-apm-config-loader/src/config.test.ts index 2d6dc013a214e..ec4355922f90e 100644 --- a/packages/kbn-apm-config-loader/src/config.test.ts +++ b/packages/kbn-apm-config-loader/src/config.test.ts @@ -359,5 +359,50 @@ describe('ApmConfiguration', () => { }) ); }); + + it('allows overriding some services settings', () => { + const kibanaConfig = { + elastic: { + apm: { + active: true, + serverUrl: 'http://an.internal.apm.server:port/', + transactionSampleRate: 0.1, + servicesOverrides: { + externalServiceName: { + active: false, + serverUrl: 'http://a.public.apm.server:port/', + disableSend: true, // just adding an extra field to prove merging works + }, + }, + }, + }, + }; + + const internalService = new ApmConfiguration(mockedRootDir, kibanaConfig, true).getConfig( + 'internalServiceName' + ); + expect(internalService).toEqual( + expect.objectContaining({ + active: true, + serverUrl: 'http://an.internal.apm.server:port/', + transactionSampleRate: 0.1, + serviceName: 'internalServiceName', + }) + ); + expect(internalService).not.toHaveProperty('disableSend'); + expect(internalService).not.toHaveProperty('servicesOverrides'); // We don't want to leak this to the client's config + + expect( + new ApmConfiguration(mockedRootDir, kibanaConfig, true).getConfig('externalServiceName') + ).toEqual( + expect.objectContaining({ + active: false, + serverUrl: 'http://a.public.apm.server:port/', + transactionSampleRate: 0.1, + disableSend: true, + serviceName: 'externalServiceName', + }) + ); + }); }); }); diff --git a/packages/kbn-apm-config-loader/src/config.ts b/packages/kbn-apm-config-loader/src/config.ts index 285d6e21f29e4..0dbff5b2385ca 100644 --- a/packages/kbn-apm-config-loader/src/config.ts +++ b/packages/kbn-apm-config-loader/src/config.ts @@ -14,6 +14,7 @@ import { getDataPath } from '@kbn/utils'; import { readFileSync } from 'fs'; import type { AgentConfigOptions } from 'elastic-apm-node'; import type { AgentConfigOptions as RUMAgentConfigOptions } from '@elastic/apm-rum'; +import type { ApmConfigSchema } from './apm_config'; // https://www.elastic.co/guide/en/apm/agent/nodejs/current/configuration.html const DEFAULT_CONFIG: AgentConfigOptions = { @@ -49,6 +50,18 @@ const CENTRALIZED_SERVICE_DIST_CONFIG: AgentConfigOptions = { transactionSampleRate: 0.1, }; +interface KibanaRawConfig { + elastic?: { + apm?: ApmConfigSchema; + }; + path?: { + data?: string; + }; + server?: { + uuid?: string; + }; +} + export class ApmConfiguration { private baseConfig?: AgentConfigOptions; private kibanaVersion: string; @@ -56,7 +69,7 @@ export class ApmConfiguration { constructor( private readonly rootDir: string, - private readonly rawKibanaConfig: Record<string, any>, + private readonly rawKibanaConfig: KibanaRawConfig, private readonly isDistributable: boolean ) { // eslint-disable-next-line @typescript-eslint/no-var-requires @@ -66,10 +79,19 @@ export class ApmConfiguration { } public getConfig(serviceName: string): AgentConfigOptions { - return { + const { servicesOverrides = {} } = this.getConfigFromKibanaConfig(); + + let baseConfig = { ...this.getBaseConfig(), serviceName, }; + + const serviceOverride = servicesOverrides[serviceName]; + if (serviceOverride) { + baseConfig = merge({}, baseConfig, serviceOverride); + } + + return baseConfig; } private getBaseConfig() { @@ -166,7 +188,7 @@ export class ApmConfiguration { * Get the elastic.apm configuration from the --config file, supersedes the * default config. */ - private getConfigFromKibanaConfig(): AgentConfigOptions { + private getConfigFromKibanaConfig(): ApmConfigSchema { return this.rawKibanaConfig?.elastic?.apm ?? {}; } @@ -266,7 +288,7 @@ export class ApmConfiguration { * Reads APM configuration from different sources and merges them together. */ private getConfigFromAllSources(): AgentConfigOptions { - const configFromKibanaConfig = this.getConfigFromKibanaConfig(); + const { servicesOverrides, ...configFromKibanaConfig } = this.getConfigFromKibanaConfig(); const configFromEnv = this.getConfigFromEnv(configFromKibanaConfig); const config = merge({}, configFromKibanaConfig, configFromEnv); From 36a7a80f384bf65fee3db6517149fd6083813f4f Mon Sep 17 00:00:00 2001 From: "Joey F. Poon" <joey.poon@elastic.co> Date: Tue, 19 Sep 2023 03:55:32 -0700 Subject: [PATCH 127/149] [Security Solution] add metering task unit tests (#166547) --- .../task_manager/usage_reporting_task.test.ts | 193 ++++++++++++++++++ 1 file changed, 193 insertions(+) create mode 100644 x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.test.ts diff --git a/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.test.ts b/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.test.ts new file mode 100644 index 0000000000000..b75d438bdd5f3 --- /dev/null +++ b/x-pack/plugins/security_solution_serverless/server/task_manager/usage_reporting_task.test.ts @@ -0,0 +1,193 @@ +/* + * 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 { CoreSetup, ElasticsearchClient } from '@kbn/core/server'; +import type { TaskManagerSetupContract } from '@kbn/task-manager-plugin/server'; +import type { CloudSetup } from '@kbn/cloud-plugin/server'; +import { TaskStatus } from '@kbn/task-manager-plugin/server'; +import { coreMock } from '@kbn/core/server/mocks'; +import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; +import { taskManagerMock } from '@kbn/task-manager-plugin/server/mocks'; + +import { ProductLine, ProductTier } from '../../common/product'; + +import { usageReportingService } from '../common/services'; +import type { ServerlessSecurityConfig } from '../config'; +import type { + SecurityUsageReportingTaskSetupContract, + UsageRecord, + MeteringCallback, +} from '../types'; + +import { SecurityUsageReportingTask } from './usage_reporting_task'; + +describe('SecurityUsageReportingTask', () => { + const TITLE = 'test-task-title'; + const TYPE = 'test-task-type'; + const VERSION = 'test-task-version'; + const TASK_ID = `${TYPE}:${VERSION}`; + const USAGE_TYPE = 'test-usage-type'; + const PROJECT_ID = 'test-project-id'; + + const { createSetup: coreSetupMock } = coreMock; + const { createSetup: tmSetupMock, createStart: tmStartMock } = taskManagerMock; + + let mockTask: SecurityUsageReportingTask; + let mockEsClient: jest.Mocked<ElasticsearchClient>; + let mockCore: CoreSetup; + let mockTaskManagerSetup: jest.Mocked<TaskManagerSetupContract>; + let meteringCallbackMock: jest.Mock; + let taskArgs: SecurityUsageReportingTaskSetupContract; + let usageRecord: UsageRecord; + + function buildMockTaskInstance() { + return { + id: `${TYPE}:${VERSION}`, + runAt: new Date(), + attempts: 0, + ownerId: '', + status: TaskStatus.Running, + startedAt: new Date(), + scheduledAt: new Date(), + retryAt: new Date(), + params: {}, + state: { + lastSuccessfulReport: new Date().toISOString(), + }, + taskType: TYPE, + }; + } + + function buildUsageRecord() { + const ts = new Date().toISOString(); + return { + id: `endpoint-agentId-${ts}`, + usage_timestamp: ts, + creation_timestamp: ts, + usage: { + type: USAGE_TYPE, + period_seconds: 3600, + quantity: 1, + }, + source: { + id: TASK_ID, + instance_group_id: PROJECT_ID, + metadata: { + tier: ProductTier.complete, + }, + }, + }; + } + + function buildTaskArgs({ + core, + taskManager, + meteringCallback, + }: { + core: CoreSetup; + taskManager: TaskManagerSetupContract; + meteringCallback: MeteringCallback; + }): SecurityUsageReportingTaskSetupContract { + return { + core, + logFactory: loggingSystemMock.create(), + config: { + productTypes: [ + { + product_line: ProductLine.security, + product_tier: ProductTier.complete, + }, + ], + } as ServerlessSecurityConfig, + taskManager, + cloudSetup: { + serverless: { + projectId: PROJECT_ID, + }, + } as CloudSetup, + taskType: TYPE, + taskTitle: TITLE, + version: VERSION, + meteringCallback, + }; + } + + beforeEach(async () => { + mockCore = coreSetupMock(); + mockEsClient = (await mockCore.getStartServices())[0].elasticsearch.client + .asInternalUser as jest.Mocked<ElasticsearchClient>; + mockTaskManagerSetup = tmSetupMock(); + usageRecord = buildUsageRecord(); + meteringCallbackMock = jest.fn().mockResolvedValueOnce([usageRecord]); + taskArgs = buildTaskArgs({ + core: mockCore, + taskManager: mockTaskManagerSetup, + meteringCallback: meteringCallbackMock, + }); + mockTask = new SecurityUsageReportingTask(taskArgs); + }); + + describe('task lifecycle', () => { + it('should create task', () => { + expect(mockTask).toBeInstanceOf(SecurityUsageReportingTask); + }); + + it('should register task', () => { + expect(mockTaskManagerSetup.registerTaskDefinitions).toHaveBeenCalled(); + }); + + it('should schedule task', async () => { + const mockTaskManagerStart = tmStartMock(); + await mockTask.start({ taskManager: mockTaskManagerStart, interval: '5m' }); + expect(mockTaskManagerStart.ensureScheduled).toHaveBeenCalled(); + }); + }); + + describe('task logic', () => { + async function runTask(taskInstance = buildMockTaskInstance()) { + const mockTaskManagerStart = tmStartMock(); + await mockTask.start({ taskManager: mockTaskManagerStart, interval: '5m' }); + const createTaskRunner = + mockTaskManagerSetup.registerTaskDefinitions.mock.calls[0][0][TYPE].createTaskRunner; + const taskRunner = createTaskRunner({ taskInstance }); + return taskRunner.run(); + } + + it('should call metering callback', async () => { + const task = await runTask(); + expect(meteringCallbackMock).toHaveBeenCalledWith( + expect.objectContaining({ + esClient: mockEsClient, + cloudSetup: taskArgs.cloudSetup, + taskId: TASK_ID, + config: taskArgs.config, + lastSuccessfulReport: task?.state.lastSuccessfulReport, + }) + ); + }); + + it('should report metering records', async () => { + const reportUsageSpy = jest.spyOn(usageReportingService, 'reportUsage'); + await runTask(); + expect(reportUsageSpy).toHaveBeenCalledWith( + expect.arrayContaining([ + expect.objectContaining({ + creation_timestamp: usageRecord.creation_timestamp, + id: usageRecord.id, + source: { + id: TASK_ID, + instance_group_id: PROJECT_ID, + metadata: { tier: ProductTier.complete }, + }, + usage: { period_seconds: 3600, quantity: 1, type: USAGE_TYPE }, + usage_timestamp: usageRecord.usage_timestamp, + }), + ]) + ); + }); + }); +}); From d91fe9fc92133cfa52c4b9aff664018b241f2ac3 Mon Sep 17 00:00:00 2001 From: Anton Dosov <anton.dosov@elastic.co> Date: Tue, 19 Sep 2023 13:51:09 +0200 Subject: [PATCH 128/149] [Serverless] Improve breadcrumbs in management (#166259) ## Summary Close https://github.com/elastic/kibana/issues/164507 This PR improves management breadcrumbs in serverless project. ![Screenshot 2023-09-13 at 16 45 28](https://github.com/elastic/kibana/assets/7784120/97f9dd25-aeed-468b-8ea6-9ffa66ce14d0) - **Management**: I removed dependency from serverless -> management. details: https://github.com/elastic/kibana/pull/166259#discussion_r1324412333 - **Search**: Search project links directly to some management sub-apps from the side nav. In some cases I hid the breadcrumb that comes from the navigation config to avoid duplication: for example there was`Index Management > Index Management` where the first came from the nav and the second from the management sub-app. - **Security**: For security I disabled setting management sub-app breadcrumbs from the navigation config as they are set from the apps. This allows for deeper breadcrumbs, beyond just nav. https://github.com/elastic/kibana/pull/166259#discussion_r1324411585 --- src/plugins/management/kibana.jsonc | 3 ++- src/plugins/management/public/plugin.ts | 14 ++++++++++-- src/plugins/management/tsconfig.json | 3 ++- .../public/navigation/index.ts | 1 + .../public/navigation/navigation_tree.ts | 7 ++++-- x-pack/plugins/serverless/kibana.jsonc | 1 - x-pack/plugins/serverless/public/plugin.tsx | 2 -- x-pack/plugins/serverless/public/types.ts | 3 --- x-pack/plugins/serverless/tsconfig.json | 1 - .../serverless_observability/public/plugin.ts | 1 + .../serverless_search/public/layout/nav.tsx | 6 +++++ .../serverless_search/public/plugin.ts | 1 + .../page_objects/svl_common_navigation.ts | 19 ++++++++++++++++ .../test_suites/search/navigation.ts | 22 +++++++++++++++++++ 14 files changed, 71 insertions(+), 13 deletions(-) diff --git a/src/plugins/management/kibana.jsonc b/src/plugins/management/kibana.jsonc index b180cd74fa3d3..1c5f3ebc4bf36 100644 --- a/src/plugins/management/kibana.jsonc +++ b/src/plugins/management/kibana.jsonc @@ -10,7 +10,8 @@ "share" ], "optionalPlugins": [ - "home" + "home", + "serverless" ], "requiredBundles": [ "kibanaReact", diff --git a/src/plugins/management/public/plugin.ts b/src/plugins/management/public/plugin.ts index f272b84aa2e0a..d4ef130eb4de0 100644 --- a/src/plugins/management/public/plugin.ts +++ b/src/plugins/management/public/plugin.ts @@ -10,6 +10,7 @@ import { i18n } from '@kbn/i18n'; import { BehaviorSubject } from 'rxjs'; import type { SharePluginSetup, SharePluginStart } from '@kbn/share-plugin/public'; import { HomePublicPluginSetup } from '@kbn/home-plugin/public'; +import { ServerlessPluginStart } from '@kbn/serverless/public'; import { CoreSetup, CoreStart, @@ -39,6 +40,7 @@ interface ManagementSetupDependencies { interface ManagementStartDependencies { share: SharePluginStart; + serverless?: ServerlessPluginStart; } export class ManagementPlugin @@ -122,13 +124,21 @@ export class ManagementPlugin updater$: this.appUpdater, async mount(params: AppMountParameters) { const { renderApp } = await import('./application'); - const [coreStart] = await core.getStartServices(); + const [coreStart, deps] = await core.getStartServices(); return renderApp(params, { sections: getSectionsServiceStartPrivate(), kibanaVersion, coreStart, - setBreadcrumbs: coreStart.chrome.setBreadcrumbs, + setBreadcrumbs: (newBreadcrumbs) => { + if (deps.serverless) { + // drop the root management breadcrumb in serverless because it comes from the navigation tree + const [, ...trailingBreadcrumbs] = newBreadcrumbs; + deps.serverless.setBreadcrumbs(trailingBreadcrumbs); + } else { + coreStart.chrome.setBreadcrumbs(newBreadcrumbs); + } + }, isSidebarEnabled$: managementPlugin.isSidebarEnabled$, cardsNavigationConfig$: managementPlugin.cardsNavigationConfig$, landingPageRedirect$: managementPlugin.landingPageRedirect$, diff --git a/src/plugins/management/tsconfig.json b/src/plugins/management/tsconfig.json index 3ad07523cecb0..77c3752e7b0c3 100644 --- a/src/plugins/management/tsconfig.json +++ b/src/plugins/management/tsconfig.json @@ -25,7 +25,8 @@ "@kbn/test-jest-helpers", "@kbn/config-schema", "@kbn/core-application-browser", - "@kbn/core-http-browser" + "@kbn/core-http-browser", + "@kbn/serverless" ], "exclude": [ "target/**/*" diff --git a/x-pack/plugins/security_solution_serverless/public/navigation/index.ts b/x-pack/plugins/security_solution_serverless/public/navigation/index.ts index 84842a90e1f74..19684479e7dd6 100644 --- a/x-pack/plugins/security_solution_serverless/public/navigation/index.ts +++ b/x-pack/plugins/security_solution_serverless/public/navigation/index.ts @@ -27,6 +27,7 @@ export const configureNavigation = ( if (!serverConfig.developer.disableManagementUrlRedirect) { management.setLandingPageRedirect(SECURITY_PROJECT_SETTINGS_PATH); } + management.setIsSidebarEnabled(false); serverless.setProjectHome(APP_PATH); serverless.setSideNavComponent(getSecuritySideNavComponent(services)); diff --git a/x-pack/plugins/security_solution_serverless/public/navigation/navigation_tree.ts b/x-pack/plugins/security_solution_serverless/public/navigation/navigation_tree.ts index 7210498a97d57..55b82759e6a02 100644 --- a/x-pack/plugins/security_solution_serverless/public/navigation/navigation_tree.ts +++ b/x-pack/plugins/security_solution_serverless/public/navigation/navigation_tree.ts @@ -35,6 +35,10 @@ const HIDDEN_BREADCRUMBS = new Set<ProjectPageName>([ SecurityPageName.sessions, ]); +const isBreadcrumbHidden = (id: ProjectPageName): boolean => + HIDDEN_BREADCRUMBS.has(id) || + id.startsWith('management:'); /* management sub-pages set their breadcrumbs themselves */ + export const subscribeNavigationTree = (services: Services): void => { const { serverless, getProjectNavLinks$ } = services; @@ -59,13 +63,12 @@ export const getFormatChromeProjectNavNodes = (services: Services) => { const navLinkId = getNavLinkIdFromProjectPageName(id); if (chrome.navLinks.has(navLinkId)) { - const breadcrumbHidden = HIDDEN_BREADCRUMBS.has(id); const link: ChromeProjectNavigationNode = { id: navLinkId, title, path: [...path, navLinkId], deepLink: chrome.navLinks.get(navLinkId), - ...(breadcrumbHidden && { breadcrumbStatus: 'hidden' }), + ...(isBreadcrumbHidden(id) && { breadcrumbStatus: 'hidden' }), }; // check default navigation for children const defaultChildrenNav = getDefaultChildrenNav(id, link); diff --git a/x-pack/plugins/serverless/kibana.jsonc b/x-pack/plugins/serverless/kibana.jsonc index 35b21a5fc39b5..d8993d5ac7c72 100644 --- a/x-pack/plugins/serverless/kibana.jsonc +++ b/x-pack/plugins/serverless/kibana.jsonc @@ -14,7 +14,6 @@ ], "requiredPlugins": [ "kibanaReact", - "management", "cloud" ], "optionalPlugins": [], diff --git a/x-pack/plugins/serverless/public/plugin.tsx b/x-pack/plugins/serverless/public/plugin.tsx index 2b2c11001e8f3..6333d9a5f58a0 100644 --- a/x-pack/plugins/serverless/public/plugin.tsx +++ b/x-pack/plugins/serverless/public/plugin.tsx @@ -49,7 +49,6 @@ export class ServerlessPlugin dependencies: ServerlessPluginStartDependencies ): ServerlessPluginStart { const { developer } = this.config; - const { management } = dependencies; if (developer && developer.projectSwitcher && developer.projectSwitcher.enabled) { const { currentType } = developer.projectSwitcher; @@ -61,7 +60,6 @@ export class ServerlessPlugin } core.chrome.setChromeStyle('project'); - management.setIsSidebarEnabled(false); // Casting the "chrome.projects" service to an "internal" type: this is intentional to obscure the property from Typescript. const { project } = core.chrome as InternalChromeStart; diff --git a/x-pack/plugins/serverless/public/types.ts b/x-pack/plugins/serverless/public/types.ts index 1de2e2fd75e1a..84fc2565905d6 100644 --- a/x-pack/plugins/serverless/public/types.ts +++ b/x-pack/plugins/serverless/public/types.ts @@ -12,7 +12,6 @@ import type { SideNavComponent, ChromeProjectNavigationNode, } from '@kbn/core-chrome-browser'; -import type { ManagementSetup, ManagementStart } from '@kbn/management-plugin/public'; import type { CloudSetup, CloudStart } from '@kbn/cloud-plugin/public'; import type { Observable } from 'rxjs'; @@ -31,11 +30,9 @@ export interface ServerlessPluginStart { } export interface ServerlessPluginSetupDependencies { - management: ManagementSetup; cloud: CloudSetup; } export interface ServerlessPluginStartDependencies { - management: ManagementStart; cloud: CloudStart; } diff --git a/x-pack/plugins/serverless/tsconfig.json b/x-pack/plugins/serverless/tsconfig.json index 4bb3e35e34472..e8224182afae9 100644 --- a/x-pack/plugins/serverless/tsconfig.json +++ b/x-pack/plugins/serverless/tsconfig.json @@ -17,7 +17,6 @@ "@kbn/config-schema", "@kbn/core", "@kbn/kibana-react-plugin", - "@kbn/management-plugin", "@kbn/serverless-project-switcher", "@kbn/serverless-types", "@kbn/utils", diff --git a/x-pack/plugins/serverless_observability/public/plugin.ts b/x-pack/plugins/serverless_observability/public/plugin.ts index e208fd5f8cadd..bbc2ac7e0435b 100644 --- a/x-pack/plugins/serverless_observability/public/plugin.ts +++ b/x-pack/plugins/serverless_observability/public/plugin.ts @@ -45,6 +45,7 @@ export class ServerlessObservabilityPlugin observabilityShared.setIsSidebarEnabled(false); serverless.setProjectHome('/app/observability/landing'); serverless.setSideNavComponent(getObservabilitySideNavComponent(core, { serverless, cloud })); + management.setIsSidebarEnabled(false); management.setupCardsNavigation({ enabled: true, hideLinksTo: [appIds.RULES], diff --git a/x-pack/plugins/serverless_search/public/layout/nav.tsx b/x-pack/plugins/serverless_search/public/layout/nav.tsx index 0879f86bc2b73..10d963100f89c 100644 --- a/x-pack/plugins/serverless_search/public/layout/nav.tsx +++ b/x-pack/plugins/serverless_search/public/layout/nav.tsx @@ -93,12 +93,16 @@ const navigationTree: NavigationTreeDefinition = { defaultMessage: 'Index Management', }), link: 'management:index_management', + breadcrumbStatus: + 'hidden' /* management sub-pages set their breadcrumbs themselves */, }, { title: i18n.translate('xpack.serverlessSearch.nav.content.pipelines', { defaultMessage: 'Pipelines', }), link: 'management:ingest_pipelines', + breadcrumbStatus: + 'hidden' /* management sub-pages set their breadcrumbs themselves */, }, ], }, @@ -110,6 +114,8 @@ const navigationTree: NavigationTreeDefinition = { children: [ { link: 'management:api_keys', + breadcrumbStatus: + 'hidden' /* management sub-pages set their breadcrumbs themselves */, }, ], }, diff --git a/x-pack/plugins/serverless_search/public/plugin.ts b/x-pack/plugins/serverless_search/public/plugin.ts index 6bd5b384fd581..dfe19e4dd55d3 100644 --- a/x-pack/plugins/serverless_search/public/plugin.ts +++ b/x-pack/plugins/serverless_search/public/plugin.ts @@ -79,6 +79,7 @@ export class ServerlessSearchPlugin ): ServerlessSearchPluginStart { serverless.setProjectHome('/app/elasticsearch'); serverless.setSideNavComponent(createComponent(core, { serverless, cloud })); + management.setIsSidebarEnabled(false); management.setupCardsNavigation({ enabled: true, hideLinksTo: [appIds.MAINTENANCE_WINDOWS], diff --git a/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts b/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts index 8d3edb04d640a..3c3b10a5d03c8 100644 --- a/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts +++ b/x-pack/test_serverless/functional/page_objects/svl_common_navigation.ts @@ -151,6 +151,25 @@ export function SvlCommonNavigationProvider(ctx: FtrProviderContext) { }); } }, + async expectBreadcrumbMissing(by: { deepLinkId: AppDeepLinkId } | { text: string }) { + if ('deepLinkId' in by) { + await testSubjects.missingOrFail(`~breadcrumb-deepLinkId-${by.deepLinkId}`); + } else { + await retry.try(async () => { + expect(await getByVisibleText('~breadcrumb', by.text)).be(null); + }); + } + }, + async expectBreadcrumbTexts(expectedBreadcrumbTexts: string[]) { + await retry.try(async () => { + const breadcrumbsContainer = await testSubjects.find('breadcrumbs'); + const breadcrumbs = await breadcrumbsContainer.findAllByTestSubject('~breadcrumb'); + breadcrumbs.shift(); // remove home + expect(expectedBreadcrumbTexts.length).to.eql(breadcrumbs.length); + const texts = await Promise.all(breadcrumbs.map((b) => b.getVisibleText())); + expect(expectedBreadcrumbTexts).to.eql(texts); + }); + }, }, search: new SvlNavigationSearchPageObject(ctx), recent: { diff --git a/x-pack/test_serverless/functional/test_suites/search/navigation.ts b/x-pack/test_serverless/functional/test_suites/search/navigation.ts index 52369c12c66bb..4852c0a369b58 100644 --- a/x-pack/test_serverless/functional/test_suites/search/navigation.ts +++ b/x-pack/test_serverless/functional/test_suites/search/navigation.ts @@ -71,6 +71,28 @@ export default function ({ getPageObject, getService }: FtrProviderContext) { await expectNoPageReload(); }); + it("management apps from the sidenav hide the 'stack management' root from the breadcrumbs", async () => { + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'management:triggersActions' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbTexts(['Explore', 'Alerts', 'Rules']); + + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'management:index_management' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbTexts(['Content', 'Index Management']); + + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'management:ingest_pipelines' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbTexts(['Content', 'Ingest Pipelines']); + + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'management:api_keys' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbTexts(['Security', 'API keys']); + }); + + it('navigate management', async () => { + await svlCommonNavigation.sidenav.openSection('project_settings_project_nav'); + await svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'management' }); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbTexts(['Management']); + await testSubjects.click('app-card-dataViews'); + await svlCommonNavigation.breadcrumbs.expectBreadcrumbTexts(['Management', 'Data views']); + }); + it('navigate using search', async () => { await svlCommonNavigation.search.showSearch(); // TODO: test something search project specific instead of generic discover From 2f401872c90c1b670520e172f27937edcac5df1f Mon Sep 17 00:00:00 2001 From: Philippe Oberti <philippe.oberti@elastic.co> Date: Tue, 19 Sep 2023 14:17:47 +0200 Subject: [PATCH 129/149] [Security Solution] expandable flyout - fix prevalence details not working when streaming mode (#166694) --- .../public/flyout/shared/utils/fetch_data.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/x-pack/plugins/security_solution/public/flyout/shared/utils/fetch_data.ts b/x-pack/plugins/security_solution/public/flyout/shared/utils/fetch_data.ts index 08dfe620aff2b..65f92bc2ec1f7 100644 --- a/x-pack/plugins/security_solution/public/flyout/shared/utils/fetch_data.ts +++ b/x-pack/plugins/security_solution/public/flyout/shared/utils/fetch_data.ts @@ -15,10 +15,14 @@ export const createFetchData = async <TResponse, T = {}>( searchService: ISearchStart, req: IEsSearchRequest ): Promise<TResponse> => { + let rawResponse: TResponse; return new Promise((resolve, reject) => { searchService.search<IEsSearchRequest, IKibanaSearchResponse<TResponse>>(req).subscribe({ next: (response) => { - resolve(response.rawResponse); + rawResponse = response.rawResponse; + }, + complete: () => { + resolve(rawResponse); }, error: (error) => { reject(error); From 895618fe06c19ae366871e57793b2c83973a946a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20S=C3=A1nchez?= <david.sanchezsoler@elastic.co> Date: Tue, 19 Sep 2023 14:46:16 +0200 Subject: [PATCH 130/149] [Fleet][Agent tamper protection] Removes deep link for uninstall tokens when FF is disabled (#166591) Fixes: https://github.com/elastic/kibana/issues/166322 ## Summary - Removes uninstall tokens deep link when the feature flag is not enabled. ### For maintainers - [ ] This was checked for breaking API changes and was [labeled appropriately](https://www.elastic.co/guide/en/kibana/master/contributing.html#kibana-release-notes-process) Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- x-pack/plugins/fleet/public/deep_links.ts | 24 +++++++++++++++-------- x-pack/plugins/fleet/public/plugin.ts | 4 ++-- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/x-pack/plugins/fleet/public/deep_links.ts b/x-pack/plugins/fleet/public/deep_links.ts index 9f325918156e1..14e1df2b2f82c 100644 --- a/x-pack/plugins/fleet/public/deep_links.ts +++ b/x-pack/plugins/fleet/public/deep_links.ts @@ -8,6 +8,8 @@ import { i18n } from '@kbn/i18n'; import type { AppDeepLink } from '@kbn/core/public'; +import type { ExperimentalFeatures } from '../common/experimental_features'; + import { FLEET_ROUTING_PATHS } from './constants/page_paths'; export enum FleetDeepLinkId { @@ -19,7 +21,9 @@ export enum FleetDeepLinkId { settings = 'settings', } -export const fleetDeepLinks: AppDeepLink[] = [ +export const getFleetDeepLinks: (experimentalFeatures: ExperimentalFeatures) => AppDeepLink[] = ( + experimentalFeatures +) => [ { id: FleetDeepLinkId.agents, title: i18n.translate('xpack.fleet.deepLinks.agents.title', { defaultMessage: 'Agents' }), @@ -39,13 +43,17 @@ export const fleetDeepLinks: AppDeepLink[] = [ }), path: FLEET_ROUTING_PATHS.enrollment_tokens, }, - { - id: FleetDeepLinkId.uninstallTokens, - title: i18n.translate('xpack.fleet.deepLinks.uninstallTokens.title', { - defaultMessage: 'Uninstall tokens', - }), - path: FLEET_ROUTING_PATHS.uninstall_tokens, - }, + ...(experimentalFeatures.agentTamperProtectionEnabled + ? [ + { + id: FleetDeepLinkId.uninstallTokens, + title: i18n.translate('xpack.fleet.deepLinks.uninstallTokens.title', { + defaultMessage: 'Uninstall tokens', + }), + path: FLEET_ROUTING_PATHS.uninstall_tokens, + }, + ] + : []), { id: FleetDeepLinkId.dataStreams, title: i18n.translate('xpack.fleet.deepLinks.dataStreams.title', { diff --git a/x-pack/plugins/fleet/public/plugin.ts b/x-pack/plugins/fleet/public/plugin.ts index b06a6a6cec243..95452d52c4b12 100644 --- a/x-pack/plugins/fleet/public/plugin.ts +++ b/x-pack/plugins/fleet/public/plugin.ts @@ -84,7 +84,7 @@ import { setCustomIntegrations, setCustomIntegrationsStart } from './services/cu import type { RequestError } from './hooks'; import { sendGetBulkAssets } from './hooks'; -import { fleetDeepLinks } from './deep_links'; +import { getFleetDeepLinks } from './deep_links'; // We need to provide an object instead of void so that dependent plugins know when Fleet // is disabled. @@ -219,7 +219,7 @@ export class FleetPlugin implements Plugin<FleetSetup, FleetStart, FleetSetupDep order: 9020, euiIconType: 'logoElastic', appRoute: '/app/fleet', - deepLinks: fleetDeepLinks, + deepLinks: getFleetDeepLinks(this.experimentalFeatures), mount: async (params: AppMountParameters) => { const [coreStartServices, startDepsServices, fleetStart] = await core.getStartServices(); const cloud = From 3a0ac6fb0e752749a1cbf8f9c4f46468e6948916 Mon Sep 17 00:00:00 2001 From: Cristina Amico <criamico@users.noreply.github.com> Date: Tue, 19 Sep 2023 14:57:13 +0200 Subject: [PATCH 131/149] [Fleet] Make integrations sidebar sticky again (#166702) ## Summary [Latest upgrade of EUI](https://github.com/elastic/kibana/pull/165790) removed the `isSticky` property that we were using in Integrations sidebar. This PR is adding it back with some css properties. https://github.com/elastic/kibana/assets/16084106/ffe0e1ed-cf70-45b7-8d8d-cb0c5f53e843 --- .../epm/components/package_list_grid/index.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/index.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/index.tsx index 19e267d3c2aee..fee2a12974c69 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/index.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/components/package_list_grid/index.tsx @@ -8,6 +8,7 @@ import type { ReactNode, FunctionComponent } from 'react'; import { useMemo } from 'react'; import React, { useCallback, useState } from 'react'; +import styled from 'styled-components'; import { EuiFlexGroup, @@ -42,6 +43,11 @@ import { GridColumn } from './grid'; import { MissingIntegrationContent } from './missing_integrations'; import { SearchBox } from './search_box'; +const StickySidebar = styled(EuiFlexItem)` + position: sticky; + top: 120px; +`; + export interface Props { isLoading?: boolean; controls?: ReactNode | ReactNode[]; @@ -168,9 +174,9 @@ export const PackageListGrid: FunctionComponent<Props> = ({ gutterSize="xl" data-test-subj="epmList.integrationCards" > - <EuiFlexItem data-test-subj="epmList.controlsSideColumn" grow={1}> + <StickySidebar data-test-subj="epmList.controlsSideColumn" grow={1}> <ControlsColumn controls={controls} title={title} /> - </EuiFlexItem> + </StickySidebar> <EuiFlexItem grow={5} data-test-subj="epmList.mainColumn" style={{ alignSelf: 'stretch' }}> <EuiFlexItem grow={false}> <SearchBox From d1c4270e34d9a7ebe473b7756ffbe7c0d6c7f93a Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Tue, 19 Sep 2023 15:20:09 +0200 Subject: [PATCH 132/149] [Fleet] added doc link, styling fix (#166695) Related to https://github.com/elastic/kibana/issues/135539 Added doc link Styling fix <img width="753" alt="image" src="https://github.com/elastic/kibana/assets/90178898/a847c882-a2eb-4729-86da-5885f636b94c"> <img width="574" alt="image" src="https://github.com/elastic/kibana/assets/90178898/f642e1b2-97c9-4bc8-9763-f2e224d4b3bd"> --- .../agents/components/agent_health.tsx | 40 ++++++++++++++----- 1 file changed, 29 insertions(+), 11 deletions(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.tsx index 9aefdff0d0578..0cb89b06b62d2 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_health.tsx @@ -13,6 +13,7 @@ import { EuiButton, EuiCallOut, EuiIcon, + EuiLink, EuiPortal, EuiSpacer, EuiToolTip, @@ -26,6 +27,7 @@ import { } from '../../../../../../common/services/agent_status'; import type { Agent } from '../../../types'; +import { useStartServices } from '../../../hooks'; import { useAgentRefresh } from '../agent_details_page/hooks'; @@ -139,6 +141,8 @@ export const AgentHealth: React.FunctionComponent<Props> = ({ agent, fromDetails const [isUpgradeModalOpen, setIsUpgradeModalOpen] = useState(false); const refreshAgent = useAgentRefresh(); + const { docLinks } = useStartServices(); + return ( <> <EuiToolTip @@ -158,16 +162,18 @@ export const AgentHealth: React.FunctionComponent<Props> = ({ agent, fromDetails </> } > - <> - {getStatusComponent(agent.status)} - {previousToOfflineStatus ? getStatusComponent(previousToOfflineStatus) : null} - {isStuckInUpdating(agent) && !fromDetails ? ( - <> -   - <EuiIcon type="warning" /> - </> - ) : null} - </> + {isStuckInUpdating(agent) && !fromDetails ? ( + <div className="eui-textNoWrap"> + {getStatusComponent(agent.status)} +   + <EuiIcon type="warning" color="warning" /> + </div> + ) : ( + <> + {getStatusComponent(agent.status)} + {previousToOfflineStatus ? getStatusComponent(previousToOfflineStatus) : null} + </> + )} </EuiToolTip> {fromDetails && isStuckInUpdating(agent) ? ( <> @@ -186,7 +192,19 @@ export const AgentHealth: React.FunctionComponent<Props> = ({ agent, fromDetails <p> <FormattedMessage id="xpack.fleet.agentHealth.stuckUpdatingText" - defaultMessage="Agent has been updating for a while, and may be stuck. Consider restarting the upgrade." + defaultMessage="Agent has been updating for a while, and may be stuck. Consider restarting the upgrade. {learnMore}" + values={{ + learnMore: ( + <div> + <EuiLink href={docLinks.links.fleet.upgradeElasticAgent} target="_blank"> + <FormattedMessage + id="xpack.fleet.agentHealth.upgradeAgentsDocLink" + defaultMessage="Learn more" + /> + </EuiLink> + </div> + ), + }} /> </p> <EuiButton From 82d5dcfcc553ab2c656568f44aa1e45fc69a0660 Mon Sep 17 00:00:00 2001 From: Mark Hopkin <mark.hopkin@elastic.co> Date: Tue, 19 Sep 2023 14:25:38 +0100 Subject: [PATCH 133/149] [Fleet] Fix agent upgrade version being lowercased (#166712) ## Summary The UI was unecessarily lowercasing the agent upgrade version before sending it to the server. Closes #166685 --- .../sections/agents/components/agent_upgrade_modal/index.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.tsx index c4342d7436e22..94e1710cbacb0 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/components/agent_upgrade_modal/index.tsx @@ -257,7 +257,7 @@ export const AgentUpgradeAgentModal: React.FunctionComponent<AgentUpgradeAgentMo } const onCreateOption = (searchValue: string) => { - const normalizedSearchValue = searchValue.trim().toLowerCase(); + const normalizedSearchValue = searchValue.trim(); const newOption = { label: normalizedSearchValue, From d2e564a9465b82b5e1768ee9ce5518d75bfbb899 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Tue, 19 Sep 2023 09:30:08 -0400 Subject: [PATCH 134/149] skip failing test suite (#164164) --- x-pack/test/functional/apps/infra/home_page.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional/apps/infra/home_page.ts b/x-pack/test/functional/apps/infra/home_page.ts index 3d24a4d134c2a..8c63587f23889 100644 --- a/x-pack/test/functional/apps/infra/home_page.ts +++ b/x-pack/test/functional/apps/infra/home_page.ts @@ -21,7 +21,8 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => { const kibanaServer = getService('kibanaServer'); const testSubjects = getService('testSubjects'); - describe('Home page', function () { + // Failing: See https://github.com/elastic/kibana/issues/164164 + describe.skip('Home page', function () { this.tags('includeFirefox'); before(async () => { await kibanaServer.savedObjects.cleanStandardList(); From 84161d8308a80ddfae26a440d3f65e9f44baf851 Mon Sep 17 00:00:00 2001 From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Date: Tue, 19 Sep 2023 09:30:44 -0400 Subject: [PATCH 135/149] skip failing test suite (#166007) --- x-pack/test/functional_execution_context/tests/browser.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x-pack/test/functional_execution_context/tests/browser.ts b/x-pack/test/functional_execution_context/tests/browser.ts index c168bf1783d55..1696b7ef3c312 100644 --- a/x-pack/test/functional_execution_context/tests/browser.ts +++ b/x-pack/test/functional_execution_context/tests/browser.ts @@ -12,7 +12,8 @@ import { assertLogContains, isExecutionContextLog, readLogFile } from '../test_u export default function ({ getService, getPageObjects }: FtrProviderContext) { const PageObjects = getPageObjects(['common', 'dashboard', 'header', 'home', 'timePicker']); - describe('Browser apps', () => { + // Failing: See https://github.com/elastic/kibana/issues/166007 + describe.skip('Browser apps', () => { before(async () => { await PageObjects.common.navigateToUrl('home', '/tutorial_directory/sampleData', { useActualUrl: true, From 100e5fc85d4bcf7b3bf0babef246d83e110dc020 Mon Sep 17 00:00:00 2001 From: Josh Dover <1813008+joshdover@users.noreply.github.com> Date: Tue, 19 Sep 2023 16:59:47 +0200 Subject: [PATCH 136/149] [Fleet] Fix API calls from frontend for diags and outputs (#166731) --- x-pack/plugins/fleet/public/hooks/use_request/agents.ts | 1 + x-pack/plugins/fleet/public/hooks/use_request/outputs.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/x-pack/plugins/fleet/public/hooks/use_request/agents.ts b/x-pack/plugins/fleet/public/hooks/use_request/agents.ts index 9b43a600b62b8..70576d65ef575 100644 --- a/x-pack/plugins/fleet/public/hooks/use_request/agents.ts +++ b/x-pack/plugins/fleet/public/hooks/use_request/agents.ts @@ -232,6 +232,7 @@ export function sendGetAgentUploads(agentId: string, options?: RequestOptions) { return sendRequest<GetAgentUploadsResponse>({ path: agentRouteService.getListAgentUploads(agentId), method: 'get', + version: API_VERSIONS.public.v1, ...options, }); } diff --git a/x-pack/plugins/fleet/public/hooks/use_request/outputs.ts b/x-pack/plugins/fleet/public/hooks/use_request/outputs.ts index ccd6f2364250c..e0f1fc8d205c7 100644 --- a/x-pack/plugins/fleet/public/hooks/use_request/outputs.ts +++ b/x-pack/plugins/fleet/public/hooks/use_request/outputs.ts @@ -21,6 +21,7 @@ export function useGetOutputs() { return useRequest<GetOutputsResponse>({ method: 'get', path: outputRoutesService.getListPath(), + version: API_VERSIONS.public.v1, }); } From bda30ddfd2abf10713e362cf2185439f2733b892 Mon Sep 17 00:00:00 2001 From: Sander Philipse <94373878+sphilipse@users.noreply.github.com> Date: Tue, 19 Sep 2023 17:56:42 +0200 Subject: [PATCH 137/149] [Serverless Search] Fix language icons (#166739) ## Summary This fixes language icons for language clients dropdown. Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> --- .../components/language_client_panel.tsx | 2 +- .../components/getting_started/getting_started.tsx | 2 +- .../public/application/components/connectors_overview.tsx | 4 ++-- .../public/application/components/overview.tsx | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/kbn-search-api-panels/components/language_client_panel.tsx b/packages/kbn-search-api-panels/components/language_client_panel.tsx index 9940e7a6fed10..d749ebc3fe5de 100644 --- a/packages/kbn-search-api-panels/components/language_client_panel.tsx +++ b/packages/kbn-search-api-panels/components/language_client_panel.tsx @@ -56,7 +56,7 @@ export const LanguageClientPanel: React.FC<SelectClientProps> = ({ <EuiFlexItem grow={false}> <EuiImage alt="" - src={src || `${assetBasePath}${language.iconType}`} + src={src || `${assetBasePath}/${language.iconType}`} height={euiTheme.size.xl} width={euiTheme.size.xl} /> diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/getting_started/getting_started.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/getting_started/getting_started.tsx index 5d0a53f93d013..d142746e308f4 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/getting_started/getting_started.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/components/getting_started/getting_started.tsx @@ -83,7 +83,7 @@ export const APIGettingStarted = () => { ingestPipeline: indexPipelineParameters.name, url: cloudContext.elasticsearchUrl || DEFAULT_URL, }; - const assetBasePath = http.basePath.prepend(`/plugins/${PLUGIN_ID}/assets/client_libraries/`); + const assetBasePath = http.basePath.prepend(`/plugins/${PLUGIN_ID}/assets/client_libraries`); const [selectedLanguage, setSelectedLanguage] = useState<LanguageDefinition>(curlDefinition); return ( diff --git a/x-pack/plugins/serverless_search/public/application/components/connectors_overview.tsx b/x-pack/plugins/serverless_search/public/application/components/connectors_overview.tsx index 540c78ac521ab..c46a43879622d 100644 --- a/x-pack/plugins/serverless_search/public/application/components/connectors_overview.tsx +++ b/x-pack/plugins/serverless_search/public/application/components/connectors_overview.tsx @@ -30,8 +30,8 @@ import { useKibanaServices } from '../hooks/use_kibana'; export const ConnectorsOverview = () => { const { http } = useKibanaServices(); - const assetBasePath = http.basePath.prepend(`/plugins/${PLUGIN_ID}/assets/`); - const connectorsPath = assetBasePath + 'connectors.svg'; + const assetBasePath = http.basePath.prepend(`/plugins/${PLUGIN_ID}/assets`); + const connectorsPath = assetBasePath + '/connectors.svg'; const { data } = useQuery({ queryKey: ['fetchConnectors'], diff --git a/x-pack/plugins/serverless_search/public/application/components/overview.tsx b/x-pack/plugins/serverless_search/public/application/components/overview.tsx index d39346ab2b1b2..fb6205ab42ab2 100644 --- a/x-pack/plugins/serverless_search/public/application/components/overview.tsx +++ b/x-pack/plugins/serverless_search/public/application/components/overview.tsx @@ -57,7 +57,7 @@ export const ElasticsearchOverview = () => { const elasticsearchURL = useMemo(() => { return cloud?.elasticsearchUrl ?? ELASTICSEARCH_URL_PLACEHOLDER; }, [cloud]); - const assetBasePath = http.basePath.prepend(`/plugins/${PLUGIN_ID}/assets/`); + const assetBasePath = http.basePath.prepend(`/plugins/${PLUGIN_ID}/assets`); const codeSnippetArguments: LanguageDefinitionSnippetArguments = { url: elasticsearchURL, apiKey: clientApiKey, From 6a37dcd3370a746f0fabe8fff978b31f5305b035 Mon Sep 17 00:00:00 2001 From: Kevin Delemme <kevin.delemme@elastic.co> Date: Tue, 19 Sep 2023 12:35:47 -0400 Subject: [PATCH 138/149] feat(slo): Speed up temporary summary documents ingestion (#166640) --- .../server/services/slo/__snapshots__/create_slo.test.ts.snap | 1 + .../server/services/slo/__snapshots__/update_slo.test.ts.snap | 1 + x-pack/plugins/observability/server/services/slo/create_slo.ts | 1 + x-pack/plugins/observability/server/services/slo/delete_slo.ts | 2 +- .../server/services/slo/delete_slo_instances.test.ts | 2 +- .../observability/server/services/slo/delete_slo_instances.ts | 2 +- x-pack/plugins/observability/server/services/slo/update_slo.ts | 3 ++- 7 files changed, 8 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/observability/server/services/slo/__snapshots__/create_slo.test.ts.snap b/x-pack/plugins/observability/server/services/slo/__snapshots__/create_slo.test.ts.snap index 77ef91abbbcf4..e66f1f8124a11 100644 --- a/x-pack/plugins/observability/server/services/slo/__snapshots__/create_slo.test.ts.snap +++ b/x-pack/plugins/observability/server/services/slo/__snapshots__/create_slo.test.ts.snap @@ -42,6 +42,7 @@ Array [ }, "id": "slo-unique-id", "index": ".slo-observability.summary-v2.temp", + "refresh": true, }, ] `; diff --git a/x-pack/plugins/observability/server/services/slo/__snapshots__/update_slo.test.ts.snap b/x-pack/plugins/observability/server/services/slo/__snapshots__/update_slo.test.ts.snap index a3434de52f89d..ae7a966951f7c 100644 --- a/x-pack/plugins/observability/server/services/slo/__snapshots__/update_slo.test.ts.snap +++ b/x-pack/plugins/observability/server/services/slo/__snapshots__/update_slo.test.ts.snap @@ -45,6 +45,7 @@ Array [ }, "id": "slo-unique-id", "index": ".slo-observability.summary-v2.temp", + "refresh": true, }, ] `; diff --git a/x-pack/plugins/observability/server/services/slo/create_slo.ts b/x-pack/plugins/observability/server/services/slo/create_slo.ts index b7ed87aef9051..2b90c425b8e70 100644 --- a/x-pack/plugins/observability/server/services/slo/create_slo.ts +++ b/x-pack/plugins/observability/server/services/slo/create_slo.ts @@ -50,6 +50,7 @@ export class CreateSLO { index: SLO_SUMMARY_TEMP_INDEX_NAME, id: `slo-${slo.id}`, document: createTempSummaryDocument(slo), + refresh: true, }); return this.toResponse(slo); diff --git a/x-pack/plugins/observability/server/services/slo/delete_slo.ts b/x-pack/plugins/observability/server/services/slo/delete_slo.ts index 508da3b4ae129..de908ceac7842 100644 --- a/x-pack/plugins/observability/server/services/slo/delete_slo.ts +++ b/x-pack/plugins/observability/server/services/slo/delete_slo.ts @@ -51,7 +51,7 @@ export class DeleteSLO { private async deleteSummaryData(sloId: string): Promise<void> { await this.esClient.deleteByQuery({ index: SLO_SUMMARY_DESTINATION_INDEX_PATTERN, - wait_for_completion: false, + refresh: true, query: { match: { 'slo.id': sloId, diff --git a/x-pack/plugins/observability/server/services/slo/delete_slo_instances.test.ts b/x-pack/plugins/observability/server/services/slo/delete_slo_instances.test.ts index bd3826e31fa92..8a9c64a6b441c 100644 --- a/x-pack/plugins/observability/server/services/slo/delete_slo_instances.test.ts +++ b/x-pack/plugins/observability/server/services/slo/delete_slo_instances.test.ts @@ -158,7 +158,7 @@ describe('DeleteSLOInstances', () => { ], }, }, - "wait_for_completion": false, + "refresh": true, } `); }); diff --git a/x-pack/plugins/observability/server/services/slo/delete_slo_instances.ts b/x-pack/plugins/observability/server/services/slo/delete_slo_instances.ts index f1892122622d6..adbea2809bb28 100644 --- a/x-pack/plugins/observability/server/services/slo/delete_slo_instances.ts +++ b/x-pack/plugins/observability/server/services/slo/delete_slo_instances.ts @@ -53,7 +53,7 @@ export class DeleteSLOInstances { private async deleteSummaryData(list: SloInstanceTuple[]): Promise<void> { await this.esClient.deleteByQuery({ index: SLO_SUMMARY_DESTINATION_INDEX_PATTERN, - wait_for_completion: false, + refresh: true, query: { bool: { should: list.map((item) => ({ diff --git a/x-pack/plugins/observability/server/services/slo/update_slo.ts b/x-pack/plugins/observability/server/services/slo/update_slo.ts index 5bc10a7209106..271253f077928 100644 --- a/x-pack/plugins/observability/server/services/slo/update_slo.ts +++ b/x-pack/plugins/observability/server/services/slo/update_slo.ts @@ -45,6 +45,7 @@ export class UpdateSLO { index: SLO_SUMMARY_TEMP_INDEX_NAME, id: `slo-${updatedSlo.id}`, document: createTempSummaryDocument(updatedSlo), + refresh: true, }); return this.toResponse(updatedSlo); @@ -73,7 +74,7 @@ export class UpdateSLO { private async deleteSummaryData(sloId: string, sloRevision: number): Promise<void> { await this.esClient.deleteByQuery({ index: SLO_SUMMARY_DESTINATION_INDEX_PATTERN, - wait_for_completion: false, + refresh: true, query: { bool: { filter: [{ term: { 'slo.id': sloId } }, { term: { 'slo.revision': sloRevision } }], From 3782792f139a26d93d078fde5d133124854880dc Mon Sep 17 00:00:00 2001 From: Julia Bardi <90178898+juliaElastic@users.noreply.github.com> Date: Tue, 19 Sep 2023 19:07:35 +0200 Subject: [PATCH 139/149] [Fleet] fix for cloud where output id is different (#166743) ## Summary Related https://github.com/elastic/ingest-dev/issues/1729 Tested the new output telemetry in cloud and noticed that `output_type` was missing: ``` Agents per output type telemetry: [{"count_as_data":1,"count_as_monitoring":1}] ``` This is because the preconfigured outputs have a generated output id, and the agent policy refers to the output with its `output_id` in the attributes. Added a fix to work correctly in cloud too. Cloud agent policy: ``` "ingest-agent-policies": { "namespace": "default", "monitoring_enabled": [], "name": "Elastic Cloud agent policy", "description": "Default agent policy for agents hosted on Elastic Cloud", "data_output_id": "es-containerhost", "monitoring_output_id": "es-containerhost", "is_default": false, "is_default_fleet_server": false, "inactivity_timeout": 86400, "is_preconfigured": true, "status": "active", "is_managed": true, "revision": 5, "updated_at": "2023-09-19T11:40:20.630Z", "updated_by": "system", "schema_version": "1.1.1", "is_protected": false }, ``` Cloud output: ``` { "_index": ".kibana_ingest_8.11.0_001", "_id": "ingest-outputs:766f8800-ff20-5b5b-b9c7-4037f55decc9", "_score": 4.70048, "_source": { "ingest-outputs": { "name": "Elastic Cloud internal output", "type": "elasticsearch", "hosts": [ "http://9c3dc297f0894a8db1dcadb1d88c39e8.containerhost:9244" ], "is_default": false, "is_default_monitoring": false, "proxy_id": null, "is_preconfigured": true, "config_yaml": null, "ca_sha256": null, "ca_trusted_fingerprint": null, "output_id": "es-containerhost" }, "type": "ingest-outputs", "references": [], "managed": false, "coreMigrationVersion": "8.8.0", "typeMigrationVersion": "10.1.0", "updated_at": "2023-09-19T11:38:00.725Z", "created_at": "2023-09-19T11:38:00.725Z" } }, ``` ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --- .../collectors/agents_per_output.test.ts | 37 ++++++++++++------- .../server/collectors/agents_per_output.ts | 17 +++------ .../services/telemetry/fleet_usage_sender.ts | 2 +- 3 files changed, 30 insertions(+), 26 deletions(-) diff --git a/x-pack/plugins/fleet/server/collectors/agents_per_output.test.ts b/x-pack/plugins/fleet/server/collectors/agents_per_output.test.ts index 3e91282891f2f..1202876c754a8 100644 --- a/x-pack/plugins/fleet/server/collectors/agents_per_output.test.ts +++ b/x-pack/plugins/fleet/server/collectors/agents_per_output.test.ts @@ -19,6 +19,27 @@ jest.mock('../services', () => { { agents: 1, data_output_id: 'logstash1' }, { agents: 1, monitoring_output_id: 'kafka1' }, { agents: 1, data_output_id: 'elasticsearch2', monitoring_output_id: 'elasticsearch2' }, + { + agents: 1, + data_output_id: 'es-containerhost', + monitoring_output_id: 'es-containerhost', + }, + ], + }), + }, + outputService: { + list: jest.fn().mockResolvedValue({ + items: [ + { + id: 'default-output', + is_default: true, + is_default_monitoring: true, + type: 'elasticsearch', + }, + { id: 'logstash1', type: 'logstash' }, + { id: 'kafka1', type: 'kafka' }, + { id: 'elasticsearch2', type: 'elasticsearch' }, + { id: 'es-containerhost', type: 'elasticsearch' }, ], }), }, @@ -26,24 +47,12 @@ jest.mock('../services', () => { }); describe('agents_per_output', () => { - const soClientMock = { - find: jest.fn().mockResolvedValue({ - saved_objects: [ - { - id: 'default-output', - attributes: { is_default: true, is_default_monitoring: true, type: 'elasticsearch' }, - }, - { id: 'logstash1', attributes: { type: 'logstash' } }, - { id: 'kafka1', attributes: { type: 'kafka' } }, - { id: 'elasticsearch2', attributes: { type: 'elasticsearch' } }, - ], - }), - } as unknown as SavedObjectsClientContract; + const soClientMock = {} as unknown as SavedObjectsClientContract; it('should return agent count by output type', async () => { const res = await getAgentsPerOutput(soClientMock, {} as unknown as ElasticsearchClient); expect(res).toEqual([ - { output_type: 'elasticsearch', count_as_data: 3, count_as_monitoring: 3 }, + { output_type: 'elasticsearch', count_as_data: 4, count_as_monitoring: 4 }, { output_type: 'logstash', count_as_data: 1, count_as_monitoring: 0 }, { output_type: 'kafka', count_as_data: 0, count_as_monitoring: 1 }, ]); diff --git a/x-pack/plugins/fleet/server/collectors/agents_per_output.ts b/x-pack/plugins/fleet/server/collectors/agents_per_output.ts index 54733dace2057..3ad09bcb51177 100644 --- a/x-pack/plugins/fleet/server/collectors/agents_per_output.ts +++ b/x-pack/plugins/fleet/server/collectors/agents_per_output.ts @@ -8,9 +8,8 @@ import type { ElasticsearchClient, SavedObjectsClientContract } from '@kbn/core/server'; import _ from 'lodash'; -import { OUTPUT_SAVED_OBJECT_TYPE, SO_SEARCH_LIMIT } from '../../common'; -import type { OutputSOAttributes } from '../types'; -import { agentPolicyService } from '../services'; +import { SO_SEARCH_LIMIT } from '../../common'; +import { agentPolicyService, outputService } from '../services'; export interface AgentsPerOutputType { output_type: string; @@ -22,18 +21,14 @@ export async function getAgentsPerOutput( soClient: SavedObjectsClientContract, esClient: ElasticsearchClient ): Promise<AgentsPerOutputType[]> { - const { saved_objects: outputs } = await soClient.find<OutputSOAttributes>({ - type: OUTPUT_SAVED_OBJECT_TYPE, - page: 1, - perPage: SO_SEARCH_LIMIT, - }); + const { items: outputs } = await outputService.list(soClient); - const defaultOutputId = outputs.find((output) => output.attributes.is_default)?.id || ''; + const defaultOutputId = outputs.find((output) => output.is_default)?.id || ''; const defaultMonitoringOutputId = - outputs.find((output) => output.attributes.is_default_monitoring)?.id || ''; + outputs.find((output) => output.is_default_monitoring)?.id || ''; const outputsById = _.keyBy(outputs, 'id'); - const getOutputTypeById = (outputId: string): string => outputsById[outputId]?.attributes.type; + const getOutputTypeById = (outputId: string): string => outputsById[outputId]?.type ?? ''; const { items } = await agentPolicyService.list(soClient, { esClient, diff --git a/x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts b/x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts index 555223c7b5b1c..4ee0a7dac4f89 100644 --- a/x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts +++ b/x-pack/plugins/fleet/server/services/telemetry/fleet_usage_sender.ts @@ -24,7 +24,7 @@ const FLEET_AGENTS_EVENT_TYPE = 'fleet_agents'; export class FleetUsageSender { private taskManager?: TaskManagerStartContract; - private taskVersion = '1.1.2'; + private taskVersion = '1.1.3'; private taskType = 'Fleet-Usage-Sender'; private wasStarted: boolean = false; private interval = '1h'; From dd4708414a67a28c9bc81c1a1b6ba37837efa0f1 Mon Sep 17 00:00:00 2001 From: Gloria Hornero <gloria.hornero@elastic.co> Date: Tue, 19 Sep 2023 19:15:53 +0200 Subject: [PATCH 140/149] Upgrading cypress to 12.17.4 (#165869) Co-authored-by: Yuliia Naumenko <jo.naumenko@gmail.com> Co-authored-by: Thomas Watson <w@tson.dk> Co-authored-by: Kyle Pollich <kyle.pollich@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../pipelines/pull_request/fleet_cypress.yml | 3 +- .../scripts/steps/functional/fleet_cypress.sh | 12 +- .../steps/functional/profiling_cypress.sh | 2 +- package.json | 2 +- test/scripts/jenkins_fleet_cypress.sh | 6 +- x-pack/plugins/apm/scripts/test/e2e.js | 6 +- x-pack/plugins/fleet/cypress.config.ts | 18 ++- x-pack/plugins/fleet/cypress/README.md | 21 +--- .../fleet/cypress/e2e/a11y/home_page.cy.ts | 11 +- .../e2e/agent_binary_download_source.cy.ts | 14 ++- .../fleet/cypress/e2e/agent_policy.cy.ts | 6 +- .../fleet/cypress/e2e/agents/agent_list.cy.ts | 11 +- .../fleet/cypress/e2e/enrollment_token.cy.ts | 8 +- .../cypress/e2e/fleet_agent_flyout.cy.ts | 6 +- .../fleet/cypress/e2e/fleet_settings.cy.ts | 6 +- .../fleet/cypress/e2e/fleet_startup.cy.ts | 24 ++-- .../fleet/cypress/e2e/install_assets.cy.ts | 3 + .../fleet/cypress/e2e/integrations_mock.cy.ts | 8 +- .../fleet/cypress/e2e/integrations_real.cy.ts | 45 +++---- .../fleet/cypress/e2e/package_policy.cy.ts | 5 +- ...e_policy_pipelines_and_mappings_real.cy.ts | 57 +++++---- .../cypress/e2e/privileges_editor_role.cy.ts | 6 +- ...ivileges_fleet_all_integrations_none.cy.ts | 6 +- ...ivileges_fleet_all_integrations_read.cy.ts | 3 +- .../cypress/e2e/privileges_viewer_role.cy.ts | 6 +- .../fleet/cypress/e2e/uninstall_token.cy.ts | 6 +- x-pack/plugins/fleet/cypress/plugins/index.ts | 1 + .../fleet/cypress/screens/fleet_outputs.ts | 8 +- x-pack/plugins/fleet/cypress/support/e2e.ts | 3 +- x-pack/plugins/fleet/cypress/tasks/cleanup.ts | 34 +++--- x-pack/plugins/fleet/cypress/tasks/common.ts | 26 ++++ .../fleet/cypress/tasks/fleet_server.ts | 9 +- .../fleet/cypress/tasks/integrations.ts | 43 ++++--- x-pack/plugins/fleet/cypress/tasks/login.ts | 15 +-- .../plugins/fleet/cypress/tasks/privileges.ts | 9 +- .../fleet/cypress/tasks/ui_settings.ts | 4 +- x-pack/plugins/fleet/cypress/tsconfig.json | 1 - x-pack/plugins/fleet/package.json | 10 +- .../scripts/test/e2e.js | 6 +- x-pack/plugins/osquery/package.json | 4 +- x-pack/plugins/security_solution/package.json | 6 +- .../plugins/threat_intelligence/package.json | 4 +- x-pack/test/fleet_cypress/config.ts | 1 + x-pack/test/fleet_cypress/runner.ts | 114 ++++-------------- .../security_solution_cypress/package.json | 8 +- .../observability/cypress/package.json | 8 +- .../test_suites/security/cypress/package.json | 6 +- yarn.lock | 19 +-- 48 files changed, 326 insertions(+), 314 deletions(-) diff --git a/.buildkite/pipelines/pull_request/fleet_cypress.yml b/.buildkite/pipelines/pull_request/fleet_cypress.yml index fab4f90c5bfea..fcccdfe7a6799 100644 --- a/.buildkite/pipelines/pull_request/fleet_cypress.yml +++ b/.buildkite/pipelines/pull_request/fleet_cypress.yml @@ -4,7 +4,8 @@ steps: agents: queue: n2-4-spot depends_on: build - timeout_in_minutes: 120 + timeout_in_minutes: 50 + parallelism: 6 retry: automatic: - exit_status: '-1' diff --git a/.buildkite/scripts/steps/functional/fleet_cypress.sh b/.buildkite/scripts/steps/functional/fleet_cypress.sh index a77d912a59fff..d6554b7198b83 100755 --- a/.buildkite/scripts/steps/functional/fleet_cypress.sh +++ b/.buildkite/scripts/steps/functional/fleet_cypress.sh @@ -3,12 +3,14 @@ set -euo pipefail source .buildkite/scripts/steps/functional/common.sh +source .buildkite/scripts/steps/functional/common_cypress.sh export JOB=kibana-fleet-cypress +export KIBANA_INSTALL_DIR=${KIBANA_BUILD_LOCATION} -echo "--- Fleet Cypress tests" +echo "--- Fleet Cypress tests (Chrome)" -node scripts/functional_tests \ - --debug --bail \ - --kibana-install-dir "$KIBANA_BUILD_LOCATION" \ - --config x-pack/test/fleet_cypress/cli_config.ts +cd x-pack/plugins/fleet + +set +e +yarn cypress:run:reporter; status=$?; yarn junit:merge || :; exit $status diff --git a/.buildkite/scripts/steps/functional/profiling_cypress.sh b/.buildkite/scripts/steps/functional/profiling_cypress.sh index 38799acc90778..1f6fb316b77ad 100644 --- a/.buildkite/scripts/steps/functional/profiling_cypress.sh +++ b/.buildkite/scripts/steps/functional/profiling_cypress.sh @@ -13,5 +13,5 @@ echo "--- Profiling Cypress Tests" cd "$XPACK_DIR" -node plugins/profiling/scripts/test/e2e.js \ +NODE_OPTIONS=--openssl-legacy-provider node plugins/profiling/scripts/test/e2e.js \ --kibana-install-dir "$KIBANA_BUILD_LOCATION" \ \ No newline at end of file diff --git a/package.json b/package.json index 6ebe1726de727..2d4809d185c66 100644 --- a/package.json +++ b/package.json @@ -1446,7 +1446,7 @@ "cssnano": "^5.1.12", "cssnano-preset-default": "^5.2.12", "csstype": "^3.0.2", - "cypress": "^12.13.0", + "cypress": "^12.17.4", "cypress-axe": "^1.4.0", "cypress-file-upload": "^5.0.8", "cypress-multi-reporters": "^1.6.3", diff --git a/test/scripts/jenkins_fleet_cypress.sh b/test/scripts/jenkins_fleet_cypress.sh index a6d9557812374..e43259c1c1c3f 100755 --- a/test/scripts/jenkins_fleet_cypress.sh +++ b/test/scripts/jenkins_fleet_cypress.sh @@ -5,10 +5,8 @@ source test/scripts/jenkins_test_setup_xpack.sh echo " -> Running fleet cypress tests" cd "$XPACK_DIR" -node scripts/functional_tests \ - --debug --bail \ - --kibana-install-dir "$KIBANA_INSTALL_DIR" \ - --config test/fleet_cypress/cli_config.ts +cd x-pack/plugins/fleet +yarn --cwd x-pack/plugins/fleet cypress:run echo "" echo "" diff --git a/x-pack/plugins/apm/scripts/test/e2e.js b/x-pack/plugins/apm/scripts/test/e2e.js index 5be124dbab08c..ae0c8c8e10276 100644 --- a/x-pack/plugins/apm/scripts/test/e2e.js +++ b/x-pack/plugins/apm/scripts/test/e2e.js @@ -69,7 +69,11 @@ function runTests() { return childProcess.spawnSync('node', spawnArgs, { cwd: e2eDir, - env: { ...process.env, CYPRESS_CLI_ARGS: JSON.stringify(cypressCliArgs) }, + env: { + ...process.env, + CYPRESS_CLI_ARGS: JSON.stringify(cypressCliArgs), + NODE_OPTIONS: '--openssl-legacy-provider', + }, encoding: 'utf8', stdio: 'inherit', }); diff --git a/x-pack/plugins/fleet/cypress.config.ts b/x-pack/plugins/fleet/cypress.config.ts index f4002d16c7414..e4a5ad96938d6 100644 --- a/x-pack/plugins/fleet/cypress.config.ts +++ b/x-pack/plugins/fleet/cypress.config.ts @@ -18,6 +18,10 @@ export default defineCypressConfig({ runMode: 2, }, + env: { + grepFilterSpecs: false, + }, + screenshotsFolder: '../../../target/kibana-fleet/cypress/screenshots', trashAssetsBeforeRuns: false, video: false, @@ -26,14 +30,16 @@ export default defineCypressConfig({ viewportWidth: 1440, screenshotOnRunFailure: true, - env: { - protocol: 'http', - hostname: 'localhost', - configport: '5601', - }, - e2e: { baseUrl: 'http://localhost:5601', + + experimentalRunAllSpecs: true, + experimentalMemoryManagement: true, + numTestsKeptInMemory: 3, + + specPattern: './cypress/e2e/**/*.cy.ts', + supportFile: './cypress/support/e2e.ts', + setupNodeEvents(on, config) { // eslint-disable-next-line @typescript-eslint/no-var-requires, @kbn/imports/no_boundary_crossing return require('./cypress/plugins')(on, config); diff --git a/x-pack/plugins/fleet/cypress/README.md b/x-pack/plugins/fleet/cypress/README.md index f18bce6eaa83d..8300ec26ede37 100644 --- a/x-pack/plugins/fleet/cypress/README.md +++ b/x-pack/plugins/fleet/cypress/README.md @@ -52,8 +52,9 @@ node scripts/build_kibana_platform_plugins # launch the cypress test runner cd x-pack/plugins/fleet -yarn cypress:run-as-ci +yarn cypress:run ``` + #### FTR + Interactive This is the preferred mode for developing new tests. @@ -67,17 +68,7 @@ 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 +yarn cypress:open ``` Note that you can select the browser you want to use on the top right side of the interactive runner. @@ -108,7 +99,7 @@ Each file inside the screens folder represents a screen in our application. _Tasks_ are functions that may be reused across tests. -Each file inside the tasks folder represents a screen of our application. +Each file inside the tasks folder represents a screen of our application. ## Test data @@ -141,7 +132,7 @@ Note that the command will create the folder if it does not exist. ## Development Best Practices -### Clean up the state +### 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? @@ -164,7 +155,7 @@ Remember that minimizing the number of times the web page is loaded, we minimize The `checkA11y({ skipFailures: false });` call uses [axe-core](https://github.com/dequelabs/axe-core) to perform a full page check for accessibility violations. -See [axe-core](https://github.com/dequelabs/axe-core)'s documentation for details on what is checked for. +See [axe-core](https://github.com/dequelabs/axe-core)'s documentation for details on what is checked for. ## Linting diff --git a/x-pack/plugins/fleet/cypress/e2e/a11y/home_page.cy.ts b/x-pack/plugins/fleet/cypress/e2e/a11y/home_page.cy.ts index 7af771d60f9ef..a6ec3b26c9232 100644 --- a/x-pack/plugins/fleet/cypress/e2e/a11y/home_page.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/a11y/home_page.cy.ts @@ -34,12 +34,18 @@ import { cleanupAgentPolicies, unenrollAgent } from '../../tasks/cleanup'; import { setFleetServerHost } from '../../tasks/fleet_server'; import { API_VERSIONS } from '../../../common/constants'; +import { login } from '../../tasks/login'; +import { request } from '../../tasks/common'; describe('Home page', () => { before(() => { setFleetServerHost('https://fleetserver:8220'); }); + beforeEach(() => { + login(); + }); + describe('Agents', () => { beforeEach(() => { navigateTo(FLEET); @@ -150,7 +156,7 @@ describe('Home page', () => { describe('Uninstall Tokens', () => { before(() => { - cy.request({ + request({ method: 'POST', url: '/api/fleet/agent_policies', body: { name: 'Agent policy for A11y test', namespace: 'default', id: 'agent-policy-a11y' }, @@ -162,7 +168,7 @@ describe('Home page', () => { cy.getBySel(UNINSTALL_TOKENS_TAB).click(); }); after(() => { - cy.request({ + request({ method: 'POST', url: '/api/fleet/agent_policies/delete', body: { agentPolicyId: 'agent-policy-a11y' }, @@ -182,6 +188,7 @@ describe('Home page', () => { describe('Data Streams', () => { before(() => { + login(); navigateTo(FLEET); cy.getBySel(DATA_STREAMS_TAB, { timeout: 15000 }).should('be.visible'); cy.getBySel(DATA_STREAMS_TAB).click(); diff --git a/x-pack/plugins/fleet/cypress/e2e/agent_binary_download_source.cy.ts b/x-pack/plugins/fleet/cypress/e2e/agent_binary_download_source.cy.ts index 3d5fa3f98fe25..54fbbefe99e63 100644 --- a/x-pack/plugins/fleet/cypress/e2e/agent_binary_download_source.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/agent_binary_download_source.cy.ts @@ -11,15 +11,19 @@ import { AGENT_BINARY_SOURCES_FLYOUT, AGENT_POLICY_FORM, } from '../screens/fleet'; -import { cleanupDownloadSources } from '../tasks/cleanup'; +import { cleanupAgentPolicies, cleanupDownloadSources } from '../tasks/cleanup'; import { FLEET, navigateTo } from '../tasks/navigation'; import { CONFIRM_MODAL } from '../screens/navigation'; -import { API_VERSIONS } from '../../common/constants'; +import { request } from '../tasks/common'; +import { login } from '../tasks/login'; describe('Agent binary download source section', () => { beforeEach(() => { cleanupDownloadSources(); + cleanupAgentPolicies(); + + login(); navigateTo(FLEET); }); @@ -74,7 +78,7 @@ describe('Agent binary download source section', () => { }); it('the download source is displayed in agent policy settings', () => { - cy.request({ + request({ method: 'POST', url: `api/fleet/agent_download_sources`, body: { @@ -82,9 +86,8 @@ describe('Agent binary download source section', () => { id: 'fleet-local-registry', host: 'https://new-custom-host.co', }, - headers: { 'kbn-xsrf': 'kibana', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, }); - cy.request({ + request({ method: 'POST', url: '/api/fleet/agent_policies', body: { @@ -95,7 +98,6 @@ describe('Agent binary download source section', () => { id: 'new-agent-policy', download_source_id: 'fleet-local-registry', }, - headers: { 'kbn-xsrf': 'kibana', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, }).then((response: any) => { navigateTo('app/fleet/policies/new-agent-policy/settings'); cy.getBySel(AGENT_POLICY_FORM.DOWNLOAD_SOURCE_SELECT).contains('Custom Host'); diff --git a/x-pack/plugins/fleet/cypress/e2e/agent_policy.cy.ts b/x-pack/plugins/fleet/cypress/e2e/agent_policy.cy.ts index 916590c05c0b6..8d9604318e129 100644 --- a/x-pack/plugins/fleet/cypress/e2e/agent_policy.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/agent_policy.cy.ts @@ -4,11 +4,14 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { TOAST_CLOSE_BTN } from '../screens/navigation'; import { setupFleetServer } from '../tasks/fleet_server'; import { AGENT_FLYOUT, AGENT_POLICY_DETAILS_PAGE } from '../screens/fleet'; +import { login } from '../tasks/login'; + describe('Edit agent policy', () => { beforeEach(() => { + login(); + cy.intercept('/api/fleet/agent_policies/policy-1', { item: { id: 'policy-1', @@ -35,7 +38,6 @@ describe('Edit agent policy', () => { it('should edit agent policy', () => { cy.visit('/app/fleet/policies/policy-1/settings'); - cy.getBySel(TOAST_CLOSE_BTN).click(); cy.get('[placeholder="Optional description"').clear().type('desc'); cy.intercept('/api/fleet/agent_policies/policy-1', { diff --git a/x-pack/plugins/fleet/cypress/e2e/agents/agent_list.cy.ts b/x-pack/plugins/fleet/cypress/e2e/agents/agent_list.cy.ts index 1e3bf95bb2356..a82c362a8ea4e 100644 --- a/x-pack/plugins/fleet/cypress/e2e/agents/agent_list.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/agents/agent_list.cy.ts @@ -14,6 +14,8 @@ import type { CreateAgentPolicyRequest } from '../../../common/types'; import { setUISettings } from '../../tasks/ui_settings'; import { API_VERSIONS } from '../../../common/constants'; +import { request } from '../../tasks/common'; +import { login } from '../../tasks/login'; const createAgentDocs = (kibanaVersion: string) => [ createAgentDoc('agent-1', 'policy-1'), // this agent will have upgrade available @@ -65,7 +67,7 @@ const POLICIES: Array<CreateAgentPolicyRequest['body']> = [ ]; function createAgentPolicy(body: CreateAgentPolicyRequest['body']) { - cy.request({ + request({ method: 'POST', url: '/api/fleet/agent_policies', headers: { 'kbn-xsrf': 'xx', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, @@ -101,11 +103,13 @@ describe('View agents list', () => { } }); after(() => { - deleteFleetServerDocs(); - deleteAgentDocs(); + deleteFleetServerDocs(true); + deleteAgentDocs(true); cleanupAgentPolicies(); }); beforeEach(() => { + login(); + cy.intercept('/api/fleet/agents/setup', { isReady: true, missing_optional_features: [], @@ -369,7 +373,6 @@ describe('View agents list', () => { cy.get('.euiModalFooter button:enabled').contains('Assign policy').click(); cy.wait('@getAgents'); assertTableIsEmpty(); - cy.pause(); // Select new policy is filters cy.getBySel(FLEET_AGENT_LIST_PAGE.POLICY_FILTER).click(); cy.get('button').contains('Agent policy 4').click(); diff --git a/x-pack/plugins/fleet/cypress/e2e/enrollment_token.cy.ts b/x-pack/plugins/fleet/cypress/e2e/enrollment_token.cy.ts index 57149b435e433..30f688792f0c4 100644 --- a/x-pack/plugins/fleet/cypress/e2e/enrollment_token.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/enrollment_token.cy.ts @@ -9,10 +9,12 @@ import { cleanupAgentPolicies } from '../tasks/cleanup'; import { ENROLLMENT_TOKENS } from '../screens/fleet'; import { API_VERSIONS } from '../../common/constants'; +import { request } from '../tasks/common'; +import { login } from '../tasks/login'; describe('Enrollment token page', () => { before(() => { - cy.request({ + request({ method: 'POST', url: '/api/fleet/agent_policies', body: { @@ -30,6 +32,10 @@ describe('Enrollment token page', () => { cleanupAgentPolicies(); }); + beforeEach(() => { + login(); + }); + it('Create new Token', () => { cy.visit('app/fleet/enrollment-tokens'); cy.getBySel(ENROLLMENT_TOKENS.CREATE_TOKEN_BUTTON).click(); diff --git a/x-pack/plugins/fleet/cypress/e2e/fleet_agent_flyout.cy.ts b/x-pack/plugins/fleet/cypress/e2e/fleet_agent_flyout.cy.ts index 6ca1eb669da19..5c653ea3fcf21 100644 --- a/x-pack/plugins/fleet/cypress/e2e/fleet_agent_flyout.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/fleet_agent_flyout.cy.ts @@ -10,8 +10,10 @@ import { cleanupAgentPolicies, deleteFleetServerDocs, deleteAgentDocs } from '.. import { createAgentDoc } from '../tasks/agents'; import { setFleetServerHost } from '../tasks/fleet_server'; import { FLEET, navigateTo } from '../tasks/navigation'; +import { request } from '../tasks/common'; import { API_VERSIONS } from '../../common/constants'; +import { login } from '../tasks/login'; const FLEET_SERVER_POLICY_ID = 'fleet-server-policy'; @@ -27,7 +29,7 @@ describe('Fleet add agent flyout', () => { cleanUp(); let policyId: string; // Create a Fleet server policy - cy.request({ + request({ method: 'POST', url: '/api/fleet/agent_policies', headers: { 'kbn-xsrf': 'xx', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, @@ -61,6 +63,8 @@ describe('Fleet add agent flyout', () => { }); setFleetServerHost(); }); + + login(); }); afterEach(() => { diff --git a/x-pack/plugins/fleet/cypress/e2e/fleet_settings.cy.ts b/x-pack/plugins/fleet/cypress/e2e/fleet_settings.cy.ts index f37a4180877ea..34bf23739495b 100644 --- a/x-pack/plugins/fleet/cypress/e2e/fleet_settings.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/fleet_settings.cy.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { TOAST_CLOSE_BTN, CONFIRM_MODAL } from '../screens/navigation'; +import { CONFIRM_MODAL } from '../screens/navigation'; import { SETTINGS_SAVE_BTN, SETTINGS_OUTPUTS, @@ -14,9 +14,12 @@ import { FLEET_SERVER_SETUP, GENERATE_FLEET_SERVER_POLICY_BUTTON, } from '../screens/fleet'; +import { login } from '../tasks/login'; describe('Edit settings', () => { beforeEach(() => { + login(); + cy.intercept('/api/fleet/fleet_server_hosts', { items: [ { @@ -43,7 +46,6 @@ describe('Edit settings', () => { }); cy.visit('/app/fleet/settings'); - cy.getBySel(TOAST_CLOSE_BTN).click(); }); it('should allow to update Fleet server hosts', () => { diff --git a/x-pack/plugins/fleet/cypress/e2e/fleet_startup.cy.ts b/x-pack/plugins/fleet/cypress/e2e/fleet_startup.cy.ts index 2c90e930fcb1e..21eefd56eedea 100644 --- a/x-pack/plugins/fleet/cypress/e2e/fleet_startup.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/fleet_startup.cy.ts @@ -17,31 +17,20 @@ import { LANDING_PAGE_ADD_FLEET_SERVER_BUTTON, } from '../screens/fleet'; import { cleanupAgentPolicies, unenrollAgent } from '../tasks/cleanup'; +import { request } from '../tasks/common'; import { verifyPolicy, verifyAgentPackage, navigateToTab } from '../tasks/fleet'; -import { deleteFleetServer } from '../tasks/fleet_server'; +import { deleteFleetServer, setFleetServerHost } from '../tasks/fleet_server'; +import { login } from '../tasks/login'; import { FLEET, navigateTo } from '../tasks/navigation'; describe('Fleet startup', () => { - // skipping Fleet Server enroll, to enable, comment out runner.ts line 23 - describe.skip('Fleet Server', () => { - it('should display Add agent button and Healthy agent once Fleet Agent page loaded', () => { - navigateTo(FLEET); - cy.get('.euiBadge').contains('Healthy'); - - verifyPolicy('Fleet Server policy', ['Fleet Server']); - }); - - after(() => { - unenrollAgent(); - cleanupAgentPolicies(); - }); - }); - describe('Create policies', () => { before(() => { unenrollAgent(); cleanupAgentPolicies(); deleteFleetServer(); + + setFleetServerHost(); }); after(() => { @@ -49,11 +38,12 @@ describe('Fleet startup', () => { }); beforeEach(() => { + login(); navigateTo(FLEET); }); it('should have no agent policy by default', () => { - cy.request('/api/fleet/agent_policies?full=true').then((response: any) => { + request({ url: '/api/fleet/agent_policies?full=true' }).then((response: any) => { expect(response.body.items.length).to.equal(0); }); }); diff --git a/x-pack/plugins/fleet/cypress/e2e/install_assets.cy.ts b/x-pack/plugins/fleet/cypress/e2e/install_assets.cy.ts index 886f439a1a2ef..e22d601d06c33 100644 --- a/x-pack/plugins/fleet/cypress/e2e/install_assets.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/install_assets.cy.ts @@ -9,9 +9,12 @@ import type { Interception } from 'cypress/types/net-stubbing'; import { CONFIRM_MODAL } from '../screens/navigation'; import { SETTINGS } from '../screens/integrations'; +import { login } from '../tasks/login'; describe('Install unverified package assets', () => { beforeEach(() => { + login(); + cy.intercept('POST', '/api/fleet/epm/packages/fleet_server/*', (req) => { if (!req.body.force) { return req.reply({ diff --git a/x-pack/plugins/fleet/cypress/e2e/integrations_mock.cy.ts b/x-pack/plugins/fleet/cypress/e2e/integrations_mock.cy.ts index d40cae5b58971..0e519dc483897 100644 --- a/x-pack/plugins/fleet/cypress/e2e/integrations_mock.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/integrations_mock.cy.ts @@ -7,11 +7,16 @@ import { navigateTo } from '../tasks/navigation'; import { UPDATE_PACKAGE_BTN } from '../screens/integrations'; -import { LOADING_SPINNER, TOAST_CLOSE_BTN } from '../screens/navigation'; +import { LOADING_SPINNER } from '../screens/navigation'; import { AGENT_POLICY_SAVE_INTEGRATION } from '../screens/fleet'; import { INSTALLED_VERSION, INTEGRATION_POLICIES_UPGRADE_CHECKBOX } from '../screens/integrations'; +import { login } from '../tasks/login'; describe('Add Integration - Mock API', () => { + beforeEach(() => { + login(); + }); + describe('upgrade package and upgrade package policy', () => { const oldVersion = '0.3.3'; const newVersion = '1.3.4'; @@ -143,7 +148,6 @@ describe('Add Integration - Mock API', () => { '/app/fleet/policies/package-1/upgrade-package-policy/apache-2?from=integrations-policy-list' ); - cy.getBySel(TOAST_CLOSE_BTN).click(); cy.getBySel(AGENT_POLICY_SAVE_INTEGRATION).click(); cy.wait('@updateApachePolicy').then((interception) => { diff --git a/x-pack/plugins/fleet/cypress/e2e/integrations_real.cy.ts b/x-pack/plugins/fleet/cypress/e2e/integrations_real.cy.ts index 1ce6636198fe7..e60f6e073e067 100644 --- a/x-pack/plugins/fleet/cypress/e2e/integrations_real.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/integrations_real.cy.ts @@ -31,7 +31,8 @@ import { import { LOADING_SPINNER, CONFIRM_MODAL } from '../screens/navigation'; import { ADD_PACKAGE_POLICY_BTN } from '../screens/fleet'; import { cleanupAgentPolicies } from '../tasks/cleanup'; -import { API_VERSIONS } from '../../common/constants'; +import { request } from '../tasks/common'; +import { login } from '../tasks/login'; function setupIntegrations() { cy.intercept( @@ -73,30 +74,31 @@ function getAllIntegrations() { }); } -it('should install integration without policy', () => { - cy.visit('/app/integrations/detail/tomcat/settings'); - - cy.getBySel(SETTINGS.INSTALL_ASSETS_BTN).click(); - cy.get('.euiCallOut').contains('This action will install 1 assets'); - cy.getBySel(CONFIRM_MODAL.CONFIRM_BUTTON).click(); - - cy.getBySel(LOADING_SPINNER).should('not.exist'); - - cy.getBySel(SETTINGS.UNINSTALL_ASSETS_BTN).click(); - cy.getBySel(CONFIRM_MODAL.CONFIRM_BUTTON).click(); - cy.getBySel(LOADING_SPINNER).should('not.exist'); - cy.getBySel(SETTINGS.INSTALL_ASSETS_BTN).should('exist'); -}); - describe('Add Integration - Real API', () => { const integration = 'apache'; - after(() => { + beforeEach(() => { + login(); + + cleanupAgentPolicies(); deleteIntegrations(); }); - afterEach(() => { - cleanupAgentPolicies(); + afterEach(() => {}); + + it('should install integration without policy', () => { + cy.visit('/app/integrations/detail/tomcat/settings'); + + cy.getBySel(SETTINGS.INSTALL_ASSETS_BTN).click(); + cy.get('.euiCallOut').contains('This action will install 1 assets'); + cy.getBySel(CONFIRM_MODAL.CONFIRM_BUTTON).click(); + + cy.getBySel(LOADING_SPINNER).should('not.exist'); + + cy.getBySel(SETTINGS.UNINSTALL_ASSETS_BTN).click(); + cy.getBySel(CONFIRM_MODAL.CONFIRM_BUTTON).click(); + cy.getBySel(LOADING_SPINNER).should('not.exist'); + cy.getBySel(SETTINGS.INSTALL_ASSETS_BTN).should('exist'); }); it('should install integration without policy', () => { @@ -126,7 +128,7 @@ describe('Add Integration - Real API', () => { it('should add integration to policy', () => { const agentPolicyId = 'policy_1'; - cy.request({ + request({ method: 'POST', url: `/api/fleet/agent_policies`, body: { @@ -136,10 +138,9 @@ describe('Add Integration - Real API', () => { namespace: 'default', monitoring_enabled: ['logs', 'metrics'], }, - headers: { 'kbn-xsrf': 'cypress', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, }); - cy.request('/api/fleet/agent_policies').then((response: any) => { + request({ url: '/api/fleet/agent_policies' }).then((response: any) => { cy.visit(`/app/fleet/policies/${agentPolicyId}`); cy.intercept( diff --git a/x-pack/plugins/fleet/cypress/e2e/package_policy.cy.ts b/x-pack/plugins/fleet/cypress/e2e/package_policy.cy.ts index 8b1569574c4e7..0802f5e985dd6 100644 --- a/x-pack/plugins/fleet/cypress/e2e/package_policy.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/package_policy.cy.ts @@ -4,7 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { TOAST_CLOSE_BTN } from '../screens/navigation'; +import { login } from '../tasks/login'; describe('Edit package policy', () => { const policyConfig = { @@ -32,6 +32,8 @@ describe('Edit package policy', () => { ], }; beforeEach(() => { + login(); + cy.intercept('/api/fleet/package_policies/policy-1', { item: policyConfig, }); @@ -110,7 +112,6 @@ describe('Edit package policy', () => { it('should edit package policy', () => { cy.visit('/app/fleet/policies/fleet-server-policy/edit-integration/policy-1'); - cy.getBySel(TOAST_CLOSE_BTN).click(); cy.getBySel('packagePolicyDescriptionInput').clear().type('desc'); cy.intercept('PUT', '/api/fleet/package_policies/policy-1', { diff --git a/x-pack/plugins/fleet/cypress/e2e/package_policy_pipelines_and_mappings_real.cy.ts b/x-pack/plugins/fleet/cypress/e2e/package_policy_pipelines_and_mappings_real.cy.ts index 60c75327f06ad..c1cf0ef4e0b09 100644 --- a/x-pack/plugins/fleet/cypress/e2e/package_policy_pipelines_and_mappings_real.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/package_policy_pipelines_and_mappings_real.cy.ts @@ -18,8 +18,15 @@ const INTEGRATION_TEST_PACKAGE = 'logs_integration-1.0.0'; const INTEGRATION_TEST_PACKAGE_NO_DATASET = 'logs_int_no_dataset-1.0.0'; import { API_VERSIONS } from '../../common/constants'; +import { request } from '../tasks/common'; +import { login } from '../tasks/login'; +import { cleanupAgentPolicies } from '../tasks/cleanup'; describe('Input package create and edit package policy', () => { + beforeEach(() => { + login(); + }); + const agentPolicyId = 'test-input-package-policy'; const agentPolicyName = 'Test input package policy'; const packagePolicyName = 'input-package-policy'; @@ -37,7 +44,7 @@ describe('Input package create and edit package policy', () => { before(() => { cy.task('installTestPackage', INPUT_TEST_PACKAGE); - cy.request({ + request({ method: 'POST', url: `/api/fleet/agent_policies`, body: { @@ -50,18 +57,12 @@ describe('Input package create and edit package policy', () => { headers: { 'kbn-xsrf': 'cypress', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, }); }); + after(() => { - // delete agent policy - cy.request({ - method: 'POST', - url: `/api/fleet/agent_policies/delete`, - headers: { 'kbn-xsrf': 'cypress', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, - body: JSON.stringify({ - agentPolicyId, - }), - }); + cleanupAgentPolicies(); cy.task('uninstallTestPackage', INPUT_TEST_PACKAGE); }); + it('should successfully create a package policy', () => { cy.visit(`/app/integrations/detail/${INPUT_TEST_PACKAGE}/overview`); cy.getBySel(ADD_INTEGRATION_POLICY_BTN).click(); @@ -104,6 +105,10 @@ describe('Input package create and edit package policy', () => { }); describe('Integration package with custom dataset create and edit package policy', () => { + beforeEach(() => { + login(); + }); + const agentPolicyId = 'test-logs-integration-package-policy'; const agentPolicyName = 'Test integration with custom dataset package policy'; const packagePolicyName = 'logs-integration-package-policy'; @@ -112,7 +117,7 @@ describe('Integration package with custom dataset create and edit package policy before(() => { cy.task('installTestPackage', INTEGRATION_TEST_PACKAGE); - cy.request({ + request({ method: 'POST', url: `/api/fleet/agent_policies`, body: { @@ -125,18 +130,12 @@ describe('Integration package with custom dataset create and edit package policy headers: { 'kbn-xsrf': 'cypress', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, }); }); + after(() => { - // delete agent policy - cy.request({ - method: 'POST', - url: `/api/fleet/agent_policies/delete`, - headers: { 'kbn-xsrf': 'cypress', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, - body: JSON.stringify({ - agentPolicyId, - }), - }); + cleanupAgentPolicies(); cy.task('uninstallTestPackage', INTEGRATION_TEST_PACKAGE); }); + it('should successfully create a package policy', () => { cy.visit(`/app/integrations/detail/${INTEGRATION_TEST_PACKAGE}/overview`); cy.getBySel(ADD_INTEGRATION_POLICY_BTN).click(); @@ -169,6 +168,10 @@ describe('Integration package with custom dataset create and edit package policy }); describe('Integration package with fixed dataset create and edit package policy', () => { + beforeEach(() => { + login(); + }); + const agentPolicyId = 'test-integration-package-policy'; const agentPolicyName = 'Test integration package policy'; const packagePolicyName = 'integration-package-policy'; @@ -176,7 +179,7 @@ describe('Integration package with fixed dataset create and edit package policy' before(() => { cy.task('installTestPackage', INTEGRATION_TEST_PACKAGE_NO_DATASET); - cy.request({ + request({ method: 'POST', url: `/api/fleet/agent_policies`, body: { @@ -189,18 +192,12 @@ describe('Integration package with fixed dataset create and edit package policy' headers: { 'kbn-xsrf': 'cypress', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, }); }); + after(() => { - // delete agent policy - cy.request({ - method: 'POST', - url: `/api/fleet/agent_policies/delete`, - headers: { 'kbn-xsrf': 'cypress', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, - body: JSON.stringify({ - agentPolicyId, - }), - }); + cleanupAgentPolicies(); cy.task('uninstallTestPackage', INTEGRATION_TEST_PACKAGE_NO_DATASET); }); + it('should successfully create a package policy', () => { cy.visit(`/app/integrations/detail/${INTEGRATION_TEST_PACKAGE_NO_DATASET}/overview`); cy.getBySel(ADD_INTEGRATION_POLICY_BTN).click(); diff --git a/x-pack/plugins/fleet/cypress/e2e/privileges_editor_role.cy.ts b/x-pack/plugins/fleet/cypress/e2e/privileges_editor_role.cy.ts index 9923b4888b5e3..0a06d42ab5c9d 100644 --- a/x-pack/plugins/fleet/cypress/e2e/privileges_editor_role.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/privileges_editor_role.cy.ts @@ -7,7 +7,7 @@ import { FLEET, INTEGRATIONS, navigateTo } from '../tasks/navigation'; import { createUsers, BuiltInEditorUser, deleteUsers } from '../tasks/privileges'; -import { loginWithUserAndWaitForPage, logout } from '../tasks/login'; +import { login, loginWithUserAndWaitForPage, logout } from '../tasks/login'; import { getIntegrationCard } from '../screens/integrations'; @@ -27,6 +27,10 @@ describe('When the user has Editor built-in role', () => { createUsers(usersToCreate); }); + beforeEach(() => { + login(); + }); + afterEach(() => { logout(); }); diff --git a/x-pack/plugins/fleet/cypress/e2e/privileges_fleet_all_integrations_none.cy.ts b/x-pack/plugins/fleet/cypress/e2e/privileges_fleet_all_integrations_none.cy.ts index 53e6122d75a00..eaae2c3a7e01c 100644 --- a/x-pack/plugins/fleet/cypress/e2e/privileges_fleet_all_integrations_none.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/privileges_fleet_all_integrations_none.cy.ts @@ -12,7 +12,7 @@ import { FleetAllIntegrNoneUser, deleteUsersAndRoles, } from '../tasks/privileges'; -import { loginWithUserAndWaitForPage, logout } from '../tasks/login'; +import { login, loginWithUserAndWaitForPage, logout } from '../tasks/login'; import { MISSING_PRIVILEGES } from '../screens/fleet'; const rolesToCreate = [FleetAllIntegrNoneRole]; @@ -23,6 +23,10 @@ describe('When the user has All privilege for Fleet but None for integrations', createUsersAndRoles(usersToCreate, rolesToCreate); }); + beforeEach(() => { + login(); + }); + afterEach(() => { logout(); }); diff --git a/x-pack/plugins/fleet/cypress/e2e/privileges_fleet_all_integrations_read.cy.ts b/x-pack/plugins/fleet/cypress/e2e/privileges_fleet_all_integrations_read.cy.ts index ae727dbcf7917..91b675c527a9d 100644 --- a/x-pack/plugins/fleet/cypress/e2e/privileges_fleet_all_integrations_read.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/privileges_fleet_all_integrations_read.cy.ts @@ -12,7 +12,7 @@ import { FleetAllIntegrReadUser, deleteUsersAndRoles, } from '../tasks/privileges'; -import { loginWithUserAndWaitForPage, logout } from '../tasks/login'; +import { login, loginWithUserAndWaitForPage, logout } from '../tasks/login'; import { navigateToTab, createAgentPolicy } from '../tasks/fleet'; import { cleanupAgentPolicies, unenrollAgent } from '../tasks/cleanup'; import { getIntegrationCard } from '../screens/integrations'; @@ -32,6 +32,7 @@ const usersToCreate = [FleetAllIntegrReadUser]; describe('When the user has All privilege for Fleet but Read for integrations', () => { before(() => { + login(); createUsersAndRoles(usersToCreate, rolesToCreate); }); diff --git a/x-pack/plugins/fleet/cypress/e2e/privileges_viewer_role.cy.ts b/x-pack/plugins/fleet/cypress/e2e/privileges_viewer_role.cy.ts index 89eed6dcb2077..11fe9b905ea1e 100644 --- a/x-pack/plugins/fleet/cypress/e2e/privileges_viewer_role.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/privileges_viewer_role.cy.ts @@ -7,7 +7,7 @@ import { FLEET, INTEGRATIONS } from '../tasks/navigation'; import { createUsers, BuiltInViewerUser, deleteUsers } from '../tasks/privileges'; -import { loginWithUserAndWaitForPage, logout } from '../tasks/login'; +import { login, loginWithUserAndWaitForPage, logout } from '../tasks/login'; import { getIntegrationCard } from '../screens/integrations'; @@ -23,6 +23,10 @@ describe('When the user has Viewer built-in role', () => { createUsers(usersToCreate); }); + beforeEach(() => { + login(); + }); + afterEach(() => { logout(); }); diff --git a/x-pack/plugins/fleet/cypress/e2e/uninstall_token.cy.ts b/x-pack/plugins/fleet/cypress/e2e/uninstall_token.cy.ts index 3832feefe10e1..f2c08bd1ffa12 100644 --- a/x-pack/plugins/fleet/cypress/e2e/uninstall_token.cy.ts +++ b/x-pack/plugins/fleet/cypress/e2e/uninstall_token.cy.ts @@ -12,6 +12,8 @@ import { UNINSTALL_TOKENS } from '../screens/fleet'; import type { GetUninstallTokenResponse } from '../../common/types/rest_spec/uninstall_token'; import { API_VERSIONS } from '../../common/constants'; +import { request } from '../tasks/common'; +import { login } from '../tasks/login'; describe('Uninstall token page', () => { before(() => { @@ -20,6 +22,8 @@ describe('Uninstall token page', () => { }); beforeEach(() => { + login(); + cy.visit('app/fleet/uninstall-tokens'); cy.intercept('GET', 'api/fleet/uninstall_tokens/*').as('getTokenRequest'); @@ -76,7 +80,7 @@ describe('Uninstall token page', () => { const generatePolicies = () => { for (let i = 1; i <= 3; i++) { - cy.request({ + request({ method: 'POST', url: '/api/fleet/agent_policies', body: { name: `Agent policy ${i}00`, namespace: 'default', id: `agent-policy-${i}00` }, diff --git a/x-pack/plugins/fleet/cypress/plugins/index.ts b/x-pack/plugins/fleet/cypress/plugins/index.ts index 23f50d0e23197..0a341858b1225 100644 --- a/x-pack/plugins/fleet/cypress/plugins/index.ts +++ b/x-pack/plugins/fleet/cypress/plugins/index.ts @@ -67,6 +67,7 @@ const plugin: Cypress.PluginConfig = (on, config) => { index, query, ignore_unavailable: ignoreUnavailable, + allow_no_indices: true, refresh: true, conflicts: 'proceed', }); diff --git a/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts b/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts index 0e018cd301d1b..8e7121877b8bf 100644 --- a/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts +++ b/x-pack/plugins/fleet/cypress/screens/fleet_outputs.ts @@ -5,9 +5,7 @@ * 2.0. */ -import { request } from '@kbn/osquery-plugin/cypress/tasks/common'; - -import { visit } from '../tasks/common'; +import { request, visit } from '../tasks/common'; import { getSpecificSelectorId, @@ -39,10 +37,9 @@ export const interceptOutputId = (cb: (caseId: string) => void) => { }; export const cleanupOutput = (outputId: string) => { - cy.request({ + request({ method: 'DELETE', url: `/api/fleet/outputs/${outputId}`, - headers: { 'kbn-xsrf': 'xx' }, }); }; @@ -51,7 +48,6 @@ const loadOutput = (body: Record<string, unknown>) => method: 'POST', body, url: `/api/fleet/outputs`, - headers: { 'kbn-xsrf': 'xx' }, }).then((response) => response.body); export const kafkaOutputBody = { diff --git a/x-pack/plugins/fleet/cypress/support/e2e.ts b/x-pack/plugins/fleet/cypress/support/e2e.ts index 9e570cbe0c932..f7a0d664bddfc 100644 --- a/x-pack/plugins/fleet/cypress/support/e2e.ts +++ b/x-pack/plugins/fleet/cypress/support/e2e.ts @@ -23,6 +23,7 @@ // *********************************************************** // Import commands.js using ES2015 syntax: +import { request } from '../tasks/common'; import './commands'; declare global { @@ -40,7 +41,7 @@ function getBySel(selector: string, ...args: any[]) { } function getKibanaVersion() { - return cy.request('/api/status').then(({ body }) => { + return request<{ version: { number: string } }>({ url: '/api/status' }).then(({ body }) => { return body.version.number; }); } diff --git a/x-pack/plugins/fleet/cypress/tasks/cleanup.ts b/x-pack/plugins/fleet/cypress/tasks/cleanup.ts index 8ca9a1cb32d25..c2d873d9b8dee 100644 --- a/x-pack/plugins/fleet/cypress/tasks/cleanup.ts +++ b/x-pack/plugins/fleet/cypress/tasks/cleanup.ts @@ -4,47 +4,45 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { API_VERSIONS } from '../../common/constants'; + +import { request } from './common'; export function cleanupAgentPolicies() { - cy.request('/api/fleet/agent_policies').then((response: any) => { + request({ url: '/api/fleet/agent_policies' }).then((response: any) => { response.body.items .filter((policy: any) => policy.agents === 0) .forEach((policy: any) => { - cy.request({ + request({ method: 'POST', url: '/api/fleet/agent_policies/delete', body: { agentPolicyId: policy.id }, - headers: { 'kbn-xsrf': 'kibana', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, }); }); }); } export function unenrollAgent() { - cy.request('/api/fleet/agents?page=1&perPage=20&showInactive=false&showUpgradeable=false').then( - (response: any) => { - response.body.items.forEach((agent: any) => { - cy.request({ - method: 'POST', - url: `api/fleet/agents/${agent.id}/unenroll`, - body: { revoke: true }, - headers: { 'kbn-xsrf': 'kibana', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, - }); + request({ + url: '/api/fleet/agents?page=1&perPage=20&showInactive=false&showUpgradeable=false', + }).then((response: any) => { + response.body.items.forEach((agent: any) => { + request({ + method: 'POST', + url: `api/fleet/agents/${agent.id}/unenroll`, + body: { revoke: true }, }); - } - ); + }); + }); } export function cleanupDownloadSources() { - cy.request('/api/fleet/agent_download_sources').then((response: any) => { + request({ url: '/api/fleet/agent_download_sources' }).then((response: any) => { response.body.items .filter((ds: any) => !ds.is_default) .forEach((ds: any) => { - cy.request({ + request({ method: 'DELETE', url: `/api/fleet/agent_download_sources/${ds.id}`, - headers: { 'kbn-xsrf': 'kibana', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, }); }); }); diff --git a/x-pack/plugins/fleet/cypress/tasks/common.ts b/x-pack/plugins/fleet/cypress/tasks/common.ts index dffeb93fd914d..ebb631b310b17 100644 --- a/x-pack/plugins/fleet/cypress/tasks/common.ts +++ b/x-pack/plugins/fleet/cypress/tasks/common.ts @@ -7,6 +7,8 @@ import { encode } from '@kbn/rison'; +import { API_VERSIONS } from '../../common'; + import type { ROLES } from './privileges'; import { getUrlWithRoute } from './login'; @@ -14,6 +16,30 @@ import { getUrlWithRoute } from './login'; const LOADING_INDICATOR = '[data-test-subj="globalLoadingIndicator"]'; const LOADING_INDICATOR_HIDDEN = '[data-test-subj="globalLoadingIndicator-hidden"]'; +// Grab username + password from environment variables +export const API_AUTH = Object.freeze({ + user: Cypress.env('KIBANA_USERNAME') ?? Cypress.env('ELASTICSEARCH_USERNAME'), + pass: Cypress.env('KIBANA_PASSWORD') ?? Cypress.env('ELASTICSEARCH_PASSWORD'), +}); + +export const COMMON_API_HEADERS = Object.freeze({ + 'kbn-xsrf': 'cypress', + 'x-elastic-internal-origin': 'fleet', + 'Elastic-Api-Version': API_VERSIONS.public.v1, +}); + +// Replaces request - adds baseline authentication + global headers +export const request = <T = unknown>({ + headers, + ...options +}: Partial<Cypress.RequestOptions>): Cypress.Chainable<Cypress.Response<T>> => { + return cy.request<T>({ + auth: API_AUTH, + headers: { ...COMMON_API_HEADERS, ...headers }, + ...options, + }); +}; + /** * For all the new features tours we show in the app, this method disables them * by setting their configs in the local storage. It prevents the tours from appearing diff --git a/x-pack/plugins/fleet/cypress/tasks/fleet_server.ts b/x-pack/plugins/fleet/cypress/tasks/fleet_server.ts index 4f9df31eeba60..e6bb58d7c2b9b 100644 --- a/x-pack/plugins/fleet/cypress/tasks/fleet_server.ts +++ b/x-pack/plugins/fleet/cypress/tasks/fleet_server.ts @@ -4,9 +4,9 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { API_VERSIONS } from '../../common/constants'; import { createAgentDoc } from './agents'; +import { request } from './common'; const FLEET_SERVER_POLICY_ID = 'fleet-server-policy'; @@ -15,7 +15,7 @@ export async function setupFleetServer() { const policyId: string = FLEET_SERVER_POLICY_ID; let kibanaVersion: string; - cy.request({ + request({ method: 'POST', url: '/api/fleet/agent_policies', headers: { 'kbn-xsrf': 'xx' }, @@ -30,7 +30,7 @@ export async function setupFleetServer() { // 409 is expected if the policy already exists // this allows the test to be run repeatedly in dev if (response.status > 299 && response.status !== 409) { - throw new Error(`Failed to create Fleet Server policy: ${response.body.message}`); + throw new Error(`Failed to create Fleet Server policy: ${JSON.stringify(response.body)}`); } }); @@ -65,10 +65,9 @@ export function deleteFleetServer() { } export function setFleetServerHost(host = 'https://fleetserver:8220') { - cy.request({ + request({ method: 'POST', url: '/api/fleet/fleet_server_hosts', - headers: { 'kbn-xsrf': 'xx', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, body: { name: 'Default host', host_urls: [host], diff --git a/x-pack/plugins/fleet/cypress/tasks/integrations.ts b/x-pack/plugins/fleet/cypress/tasks/integrations.ts index 538f28c759d8e..ab640d8f26a0e 100644 --- a/x-pack/plugins/fleet/cypress/tasks/integrations.ts +++ b/x-pack/plugins/fleet/cypress/tasks/integrations.ts @@ -13,9 +13,9 @@ import { } from '../screens/integrations'; import { AGENT_POLICY_SYSTEM_MONITORING_CHECKBOX, EXISTING_HOSTS_TAB } from '../screens/fleet'; -import { TOAST_CLOSE_BTN, CONFIRM_MODAL } from '../screens/navigation'; +import { CONFIRM_MODAL } from '../screens/navigation'; -import { API_VERSIONS } from '../../common/constants'; +import { request } from './common'; export const addIntegration = ({ useExistingPolicy } = { useExistingPolicy: false }) => { cy.getBySel(ADD_INTEGRATION_POLICY_BTN).click(); @@ -33,7 +33,6 @@ export const addIntegration = ({ useExistingPolicy } = { useExistingPolicy: fals force: true, }); } - cy.getBySel(TOAST_CLOSE_BTN).click(); cy.getBySel(CREATE_PACKAGE_POLICY_SAVE_BTN).click(); // sometimes agent is assigned to default policy, sometimes not cy.getBySel(CONFIRM_MODAL.CONFIRM_BUTTON).click(); @@ -50,23 +49,37 @@ export function clickIfVisible(selector: string) { }); } -export const deleteIntegrations = async () => { - const ids: string[] = []; - cy.request('/api/fleet/package_policies').then((response: any) => { - response.body.items.forEach((policy: any) => ids.push(policy.id)); - cy.request({ - url: `/api/fleet/package_policies/delete`, - headers: { 'kbn-xsrf': 'cypress', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, - body: `{ "packagePolicyIds": ${JSON.stringify(ids)}, "force": true }`, - method: 'POST', +export const deleteIntegrations = () => { + request({ url: '/api/fleet/package_policies' }) + .then((packagePoliciesResponse: any) => { + const packagePolicyIds = packagePoliciesResponse.body.items.map((policy: any) => policy.id); + + request({ + url: `/api/fleet/package_policies/delete`, + body: `{ "packagePolicyIds": ${JSON.stringify(packagePolicyIds)}, "force": true }`, + method: 'POST', + }); + }) + .then(() => { + request({ url: '/api/fleet/epm/packages' }).then((packagesResponse: any) => { + for (const pkg of packagesResponse.body.items.filter( + (item: any) => item.status === 'installed' + )) { + request({ + url: `/api/fleet/epm/packages/${pkg.name}/${pkg.version}`, + method: 'DELETE', + body: { + force: true, + }, + }); + } + }); }); - }); }; export const installPackageWithVersion = (integration: string, version: string) => { - cy.request({ + request({ url: `/api/fleet/epm/packages/${integration}/${version}`, - headers: { 'kbn-xsrf': 'cypress', 'Elastic-Api-Version': `${API_VERSIONS.public.v1}` }, body: '{ "force": true }', method: 'POST', }); diff --git a/x-pack/plugins/fleet/cypress/tasks/login.ts b/x-pack/plugins/fleet/cypress/tasks/login.ts index 2df7b88f1607b..1e50fff48bb90 100644 --- a/x-pack/plugins/fleet/cypress/tasks/login.ts +++ b/x-pack/plugins/fleet/cypress/tasks/login.ts @@ -12,6 +12,7 @@ import * as yaml from 'js-yaml'; import type { ROLES } from './privileges'; import { hostDetailsUrl, LOGOUT_URL } from './navigation'; +import { request } from './common'; /** * Credentials in the `kibana.dev.yml` config file will be used to authenticate @@ -135,7 +136,7 @@ export const deleteRoleAndUser = (role: ROLES) => { }; export const loginWithUser = (user: User) => { - cy.request({ + request({ body: { providerType: 'basic', providerName: 'basic', @@ -145,7 +146,6 @@ export const loginWithUser = (user: User) => { password: user.password, }, }, - headers: { 'kbn-xsrf': 'cypress-creds-via-config' }, method: 'POST', url: constructUrlWithUser(user, LOGIN_API_ENDPOINT), }); @@ -162,7 +162,7 @@ export const loginWithRole = async (role: ROLES) => { port: Cypress.env('configport'), } as UrlObject); cy.log(`origin: ${theUrl}`); - cy.request({ + request({ body: { providerType: 'basic', providerName: 'basic', @@ -200,8 +200,9 @@ export const login = (role?: ROLES) => { * Returns `true` if the credentials used to login to Kibana are provided * via environment variables */ -const credentialsProvidedByEnvironment = (): boolean => - Cypress.env(ELASTICSEARCH_USERNAME) != null && Cypress.env(ELASTICSEARCH_PASSWORD) != null; +const credentialsProvidedByEnvironment = (): boolean => { + return Cypress.env(ELASTICSEARCH_USERNAME) != null && Cypress.env(ELASTICSEARCH_PASSWORD) != null; +}; /** * Authenticates with Kibana by reading credentials from the @@ -215,7 +216,7 @@ const loginViaEnvironmentCredentials = () => { ); // programmatically authenticate without interacting with the Kibana login page - cy.request({ + request({ body: { providerType: 'basic', providerName: 'basic', @@ -246,7 +247,7 @@ const loginViaConfig = () => { const config = yaml.safeLoad(kibanaDevYml); // programmatically authenticate without interacting with the Kibana login page - cy.request({ + request({ body: { providerType: 'basic', providerName: 'basic', diff --git a/x-pack/plugins/fleet/cypress/tasks/privileges.ts b/x-pack/plugins/fleet/cypress/tasks/privileges.ts index 06dcf4018d1a7..da73f27e459b7 100644 --- a/x-pack/plugins/fleet/cypress/tasks/privileges.ts +++ b/x-pack/plugins/fleet/cypress/tasks/privileges.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { request } from './common'; import { constructUrlWithUser, getEnvAuth } from './login'; interface User { @@ -186,7 +187,7 @@ export const createRoles = (roles: Role[]) => { const envUser = getEnvAuth(); for (const role of roles) { cy.log(`Creating role: ${JSON.stringify(role)}`); - cy.request({ + request({ body: role.privileges, headers: { 'kbn-xsrf': 'cypress-creds-via-config' }, method: 'PUT', @@ -202,7 +203,7 @@ export const deleteRoles = (roles: Role[]) => { for (const role of roles) { cy.log(`Deleting role: ${JSON.stringify(role)}`); - cy.request({ + request({ headers: { 'kbn-xsrf': 'cypress-creds-via-config' }, method: 'DELETE', url: constructUrlWithUser(envUser, `/api/security/role/${role.name}`), @@ -221,7 +222,7 @@ export const createUsers = (users: User[]) => { for (const user of users) { const userInfo = getUserInfo(user); cy.log(`Creating user: ${JSON.stringify(user)}`); - cy.request({ + request({ body: { username: user.username, password: user.password, @@ -242,7 +243,7 @@ export const deleteUsers = (users: User[]) => { const envUser = getEnvAuth(); for (const user of users) { cy.log(`Deleting user: ${JSON.stringify(user)}`); - cy.request({ + request({ headers: { 'kbn-xsrf': 'cypress-creds-via-config' }, method: 'DELETE', url: constructUrlWithUser(envUser, `/internal/security/users/${user.username}`), diff --git a/x-pack/plugins/fleet/cypress/tasks/ui_settings.ts b/x-pack/plugins/fleet/cypress/tasks/ui_settings.ts index fceffad66c41e..e0d28a0256500 100644 --- a/x-pack/plugins/fleet/cypress/tasks/ui_settings.ts +++ b/x-pack/plugins/fleet/cypress/tasks/ui_settings.ts @@ -5,9 +5,11 @@ * 2.0. */ +import { request } from './common'; + // Create a Fleet server policy export function setUISettings(settingsKey: string, settingsValue: any) { - cy.request({ + request({ method: 'POST', url: '/internal/kibana/settings', headers: { 'kbn-xsrf': 'xx' }, diff --git a/x-pack/plugins/fleet/cypress/tsconfig.json b/x-pack/plugins/fleet/cypress/tsconfig.json index c1aa789f67c58..28fe4b5114243 100644 --- a/x-pack/plugins/fleet/cypress/tsconfig.json +++ b/x-pack/plugins/fleet/cypress/tsconfig.json @@ -28,6 +28,5 @@ "force": true }, "@kbn/rison", - "@kbn/osquery-plugin/cypress" ] } diff --git a/x-pack/plugins/fleet/package.json b/x-pack/plugins/fleet/package.json index d7687fbac90dc..3e20162ab1d91 100644 --- a/x-pack/plugins/fleet/package.json +++ b/x-pack/plugins/fleet/package.json @@ -5,12 +5,10 @@ "private": true, "license": "Elastic License 2.0", "scripts": { - "cypress": "../../../node_modules/.bin/cypress", - "cypress:open": "yarn cypress open --config-file ./cypress.config.ts", - "cypress:open-as-ci": "node ../../../scripts/functional_tests --config ../../test/fleet_cypress/visual_config.ts", - "cypress:run": "yarn cypress:run:reporter --browser chrome --spec './cypress/e2e/**/*.cy.ts'; status=$?; yarn junit:merge && exit $status", - "cypress:run-as-ci": "node ../../../scripts/functional_tests --config ../../test/fleet_cypress/cli_config.ts", - "cypress:run:reporter": "yarn cypress run --config-file ./cypress.config.ts --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=./cypress/reporter_config.json", + "cypress": "NODE_OPTIONS=--openssl-legacy-provider node ../security_solution/scripts/start_cypress_parallel --config-file ../fleet/cypress.config.ts --ftr-config-file ../../../x-pack/test/fleet_cypress/cli_config", + "cypress:open": "yarn cypress open", + "cypress:run": "yarn cypress run", + "cypress:run:reporter": "yarn cypress run --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=../fleet/cypress/reporter_config.json", "junit:merge": "../../../node_modules/.bin/mochawesome-merge ../../../target/kibana-fleet/cypress/results/mochawesome*.json > ../../../target/kibana-fleet/cypress/results/output.json && ../../../node_modules/.bin/marge ../../../target/kibana-fleet/cypress/results/output.json --reportDir ../../../target/kibana-fleet/cypress/results && mkdir -p ../../../target/junit && cp ../../../target/kibana-fleet/cypress/results/*.xml ../../../target/junit/", "openapi:build": "npx @redocly/openapi-cli bundle --ext yaml --output ./common/openapi/bundled.yaml ./common/openapi/entrypoint.yaml && npx @redocly/openapi-cli bundle --ext json --output ./common/openapi/bundled.json ./common/openapi/entrypoint.yaml", "openapi:lint": "npx @redocly/cli lint ./common/openapi/bundled.yaml", diff --git a/x-pack/plugins/observability_onboarding/scripts/test/e2e.js b/x-pack/plugins/observability_onboarding/scripts/test/e2e.js index d5cd56175d223..8a584a84bdc87 100644 --- a/x-pack/plugins/observability_onboarding/scripts/test/e2e.js +++ b/x-pack/plugins/observability_onboarding/scripts/test/e2e.js @@ -76,7 +76,11 @@ function runTests() { return childProcess.spawnSync('node', spawnArgs, { cwd: e2eDir, - env: { ...process.env, CYPRESS_CLI_ARGS: JSON.stringify(cypressCliArgs) }, + env: { + ...process.env, + CYPRESS_CLI_ARGS: JSON.stringify(cypressCliArgs), + NODE_OPTIONS: '--openssl-legacy-provider', + }, encoding: 'utf8', stdio: 'inherit', }); diff --git a/x-pack/plugins/osquery/package.json b/x-pack/plugins/osquery/package.json index bd21bb192545a..32db6010c6573 100644 --- a/x-pack/plugins/osquery/package.json +++ b/x-pack/plugins/osquery/package.json @@ -7,10 +7,10 @@ "scripts": { "cypress:burn": "yarn cypress:run --env burn=2 --headed", "cypress:changed-specs-only": "yarn cypress:run --changed-specs-only --env burn=2", - "cypress": "node ../security_solution/scripts/start_cypress_parallel --config-file ../osquery/cypress.config.ts --ftr-config-file ../../../x-pack/test/osquery_cypress/cli_config", + "cypress": "NODE_OPTIONS=--openssl-legacy-provider node ../security_solution/scripts/start_cypress_parallel --config-file ../osquery/cypress.config.ts --ftr-config-file ../../../x-pack/test/osquery_cypress/cli_config", "cypress:open": "yarn cypress open", "cypress:run": "yarn cypress run", - "cypress:serverless": "node ../security_solution/scripts/start_cypress_parallel --config-file ../osquery/serverless_cypress.config.ts --ftr-config-file ../../../x-pack/test/osquery_cypress/serverless_cli_config", + "cypress:serverless": "NODE_OPTIONS=--openssl-legacy-provider node ../security_solution/scripts/start_cypress_parallel --config-file ../osquery/serverless_cypress.config.ts --ftr-config-file ../../../x-pack/test/osquery_cypress/serverless_cli_config", "cypress:serverless:open": "yarn cypress:serverless open", "cypress:serverless:run": "yarn cypress:serverless run", "nyc": "../../../node_modules/.bin/nyc report --reporter=text-summary", diff --git a/x-pack/plugins/security_solution/package.json b/x-pack/plugins/security_solution/package.json index d29baae15d470..1c473d628ff2c 100644 --- a/x-pack/plugins/security_solution/package.json +++ b/x-pack/plugins/security_solution/package.json @@ -7,13 +7,13 @@ "scripts": { "extract-mitre-attacks": "node scripts/extract_tactics_techniques_mitre.js && node ../../../scripts/eslint ./public/detections/mitre/mitre_tactics_techniques.ts --fix", "build-beat-doc": "node scripts/beat_docs/build.js && node ../../../scripts/eslint ../timelines/server/utils/beat_schema/fields.ts --fix", - "cypress": "../../../node_modules/.bin/cypress", + "cypress": "NODE_OPTIONS=--openssl-legacy-provider ../../../node_modules/.bin/cypress", "cypress:burn": "yarn cypress:dw run --env burn=2 --headed", "cypress:changed-specs-only": "yarn cypress:dw run --changed-specs-only --env burn=2", - "cypress:dw": "node ./scripts/start_cypress_parallel --config-file ./public/management/cypress.config.ts ts --ftr-config-file ../../test/defend_workflows_cypress/cli_config", + "cypress:dw": "NODE_OPTIONS=--openssl-legacy-provider node ./scripts/start_cypress_parallel --config-file ./public/management/cypress.config.ts ts --ftr-config-file ../../test/defend_workflows_cypress/cli_config", "cypress:dw:open": "yarn cypress:dw open", "cypress:dw:run": "yarn cypress:dw run", - "cypress:dw:endpoint": "node ./scripts/start_cypress_parallel --config-file ./public/management/cypress_endpoint.config.ts --ftr-config-file ../../test/defend_workflows_cypress/endpoint_config", + "cypress:dw:endpoint": "NODE_OPTIONS=--openssl-legacy-provider node ./scripts/start_cypress_parallel --config-file ./public/management/cypress_endpoint.config.ts --ftr-config-file ../../test/defend_workflows_cypress/endpoint_config", "cypress:dw:endpoint:run": "yarn cypress:dw:endpoint run", "cypress:dw:endpoint:open": "yarn cypress:dw:endpoint open ", "junit:merge": "../../../node_modules/.bin/mochawesome-merge ../../../target/kibana-security-solution/cypress/results/mochawesome*.json > ../../../target/kibana-security-solution/cypress/results/output.json && ../../../node_modules/.bin/marge ../../../target/kibana-security-solution/cypress/results/output.json --reportDir ../../../target/kibana-security-solution/cypress/results && yarn junit:transform && mkdir -p ../../../target/junit && cp ../../../target/kibana-security-solution/cypress/results/*.xml ../../../target/junit/", diff --git a/x-pack/plugins/threat_intelligence/package.json b/x-pack/plugins/threat_intelligence/package.json index a887c13c3ba4b..1e934863b52f2 100644 --- a/x-pack/plugins/threat_intelligence/package.json +++ b/x-pack/plugins/threat_intelligence/package.json @@ -5,11 +5,11 @@ "license": "Elastic License 2.0", "scripts": { "cypress": "../../../node_modules/.bin/cypress", - "cypress:open": "TZ=UTC node ../security_solution/scripts/start_cypress_parallel open --spec './cypress/e2e/**/*.cy.ts' --config-file ../../plugins/threat_intelligence/cypress/cypress.config.ts --ftr-config-file ../../test/threat_intelligence_cypress/cli_config_parallel", + "cypress:open": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../security_solution/scripts/start_cypress_parallel open --spec './cypress/e2e/**/*.cy.ts' --config-file ../../plugins/threat_intelligence/cypress/cypress.config.ts --ftr-config-file ../../test/threat_intelligence_cypress/cli_config_parallel", "cypress:run": "yarn cypress:run:reporter --browser chrome --spec './cypress/e2e/**/*.cy.ts'; status=$?; yarn junit:merge && exit $status", "cypress:run:spec": "yarn cypress:run:reporter --browser chrome --spec ${SPEC_LIST:-'./cypress/e2e/**/*.cy.ts'}; status=$?; yarn junit:merge && exit $status", "cypress:run:cases": "yarn cypress:run:reporter --browser chrome --spec './cypress/e2e/cases/*.cy.ts' --ftr-config-file ../../test/security_solution_cypress/cli_config; status=$?; yarn junit:merge && exit $status", - "cypress:run:reporter": "TZ=UTC node ../security_solution/scripts/start_cypress_parallel run --config-file ../../plugins/threat_intelligence/cypress/cypress.config.ts --ftr-config-file ../../test/threat_intelligence_cypress/cli_config_parallel --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=./cypress/reporter_config.json", + "cypress:run:reporter": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../security_solution/scripts/start_cypress_parallel run --config-file ../../plugins/threat_intelligence/cypress/cypress.config.ts --ftr-config-file ../../test/threat_intelligence_cypress/cli_config_parallel --reporter ../../../node_modules/cypress-multi-reporters --reporter-options configFile=./cypress/reporter_config.json", "cypress:run:respops": "yarn cypress:run:reporter --browser chrome --spec ./cypress/e2e/detection_alerts/*.cy.ts,./cypress/e2e/detection_rules/*.cy.ts,./cypress/e2e/exceptions/*.cy.ts --ftr-config-file ../../x-pack/test/security_solution_cypress/cli_config; status=$?; yarn junit:merge && exit $status", "junit:merge": "../../../node_modules/.bin/mochawesome-merge ../../../target/kibana-threat-intelligence/cypress/results/mochawesome*.json > ../../../target/kibana-threat-intelligence/cypress/results/output.json && ../../../node_modules/.bin/marge ../../../target/kibana-threat-intelligence/cypress/results/output.json --reportDir ../../../target/kibana-threat-intelligence/cypress/results && mkdir -p ../../../target/junit && cp ../../../target/kibana-threat-intelligence/cypress/results/*.xml ../../../target/junit/" } diff --git a/x-pack/test/fleet_cypress/config.ts b/x-pack/test/fleet_cypress/config.ts index 25f44880adf88..af6e2e20342e3 100644 --- a/x-pack/test/fleet_cypress/config.ts +++ b/x-pack/test/fleet_cypress/config.ts @@ -35,6 +35,7 @@ export default async function ({ readConfigFile }: FtrConfigProviderContext) { ...xpackFunctionalTestsConfig.get('kbnTestServer'), serverArgs: [ ...xpackFunctionalTestsConfig.get('kbnTestServer.serverArgs'), + '--csp.warnLegacyBrowsers=false', '--csp.strict=false', // define custom kibana server args here `--elasticsearch.ssl.certificateAuthorities=${CA_CERT_PATH}`, diff --git a/x-pack/test/fleet_cypress/runner.ts b/x-pack/test/fleet_cypress/runner.ts index 87278cca019a8..fcead46bdbc07 100644 --- a/x-pack/test/fleet_cypress/runner.ts +++ b/x-pack/test/fleet_cypress/runner.ts @@ -5,108 +5,38 @@ * 2.0. */ -import { resolve } from 'path'; import Url from 'url'; -import { withProcRunner } from '@kbn/dev-proc-runner'; - import { FtrProviderContext } from './ftr_provider_context'; -import { AgentManager, AgentManagerParams } from './agent'; -import { FleetManager } from './fleet_server'; +export async function FleetCypressCliTestRunner(context: FtrProviderContext) { + await startFleetCypress(context, 'run'); +} -async function withFleetAgent( - { getService }: FtrProviderContext, - runner: (runnerEnv: Record<string, string>) => Promise<void> -) { - // skipping fleet server enroll for now, as it is not a functionality of Fleet UI itself. are there any existing e2e tests for enroll? - return await runner({}); +export async function FleetCypressVisualTestRunner(context: FtrProviderContext) { + await startFleetCypress(context, 'open'); +} - const log = getService('log'); - const config = getService('config'); +function startFleetCypress(context: FtrProviderContext, cypressCommand: string) { + const config = context.getService('config'); - const esHost = Url.format(config.get('servers.elasticsearch')); - const params: AgentManagerParams = { - user: config.get('servers.elasticsearch.username'), - password: config.get('servers.elasticsearch.password'), - esHost, - esPort: config.get('servers.elasticsearch.port'), - kibanaUrl: Url.format({ + return { + FORCE_COLOR: '1', + baseUrl: Url.format({ + protocol: config.get('servers.kibana.protocol'), + hostname: config.get('servers.kibana.hostname'), + port: config.get('servers.kibana.port'), + }), + protocol: config.get('servers.kibana.protocol'), + hostname: config.get('servers.kibana.hostname'), + configport: config.get('servers.kibana.port'), + ELASTICSEARCH_URL: Url.format(config.get('servers.elasticsearch')), + ELASTICSEARCH_USERNAME: config.get('servers.kibana.username'), + ELASTICSEARCH_PASSWORD: config.get('servers.kibana.password'), + KIBANA_URL: Url.format({ protocol: config.get('servers.kibana.protocol'), hostname: config.get('servers.kibana.hostname'), port: config.get('servers.kibana.port'), }), }; - const requestOptions = { - headers: { - 'kbn-xsrf': 'kibana', - }, - auth: { - username: params.user, - password: params.password, - }, - }; - const fleetManager = new FleetManager(params, log, requestOptions); - - const agentManager = new AgentManager(params, log, requestOptions); - - // 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/security_solution_cypress/package.json b/x-pack/test/security_solution_cypress/package.json index ba28de108ccf9..f4be9a442b3ef 100644 --- a/x-pack/test/security_solution_cypress/package.json +++ b/x-pack/test/security_solution_cypress/package.json @@ -5,11 +5,11 @@ "private": true, "license": "Elastic License 2.0", "scripts": { - "cypress": "../../../node_modules/.bin/cypress", - "cypress:open:ess": "TZ=UTC node ../../plugins/security_solution/scripts/start_cypress_parallel open --spec './cypress/e2e/**/*.cy.ts' --config-file ../../test/security_solution_cypress/cypress/cypress.config.ts --ftr-config-file ../../test/security_solution_cypress/cli_config", + "cypress": "NODE_OPTIONS=--openssl-legacy-provider ../../../node_modules/.bin/cypress", + "cypress:open:ess": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../../plugins/security_solution/scripts/start_cypress_parallel open --spec './cypress/e2e/**/*.cy.ts' --config-file ../../test/security_solution_cypress/cypress/cypress.config.ts --ftr-config-file ../../test/security_solution_cypress/cli_config", "cypress:run:ess": "yarn cypress:ess --spec './cypress/e2e/!(investigations|explore)/**/*.cy.ts'", "cypress:run:cases:ess": "yarn cypress:ess --spec './cypress/e2e/explore/cases/*.cy.ts'", - "cypress:ess": "TZ=UTC node ../../plugins/security_solution/scripts/start_cypress_parallel run --config-file ../../test/security_solution_cypress/cypress/cypress_ci.config.ts --ftr-config-file ../../test/security_solution_cypress/cli_config", + "cypress:ess": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../../plugins/security_solution/scripts/start_cypress_parallel run --config-file ../../test/security_solution_cypress/cypress/cypress_ci.config.ts --ftr-config-file ../../test/security_solution_cypress/cli_config", "cypress:run:respops:ess": "yarn cypress:ess --spec './cypress/e2e/(detection_alerts|detection_rules|exceptions)/*.cy.ts'", "cypress:investigations:run:ess": "yarn cypress:ess --spec './cypress/e2e/investigations/**/*.cy.ts'", "cypress:explore:run:ess": "yarn cypress:ess --spec './cypress/e2e/explore/**/*.cy.ts'", @@ -17,7 +17,7 @@ "cypress:burn:ess": "yarn cypress:ess --env burn=2", "junit:merge": "../../../node_modules/.bin/mochawesome-merge ../../../target/kibana-security-solution/cypress/results/mochawesome*.json > ../../../target/kibana-security-solution/cypress/results/output.json && ../../../node_modules/.bin/marge ../../../target/kibana-security-solution/cypress/results/output.json --reportDir ../../../target/kibana-security-solution/cypress/results && yarn junit:transform && mkdir -p ../../../target/junit && cp ../../../target/kibana-security-solution/cypress/results/*.xml ../../../target/junit/", "junit:transform": "node ../../plugins/security_solution/scripts/junit_transformer --pathPattern '../../../target/kibana-security-solution/cypress/results/*.xml' --rootDirectory ../../../ --reportName 'Security Solution Cypress' --writeInPlace", - "cypress:serverless": "TZ=UTC node ../../plugins/security_solution/scripts/start_cypress_parallel --config-file ../../test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts --ftr-config-file ../../test/security_solution_cypress/serverless_config", + "cypress:serverless": "TZ=UTC NODE_OPTIONS=--openssl-legacy-provider node ../../plugins/security_solution/scripts/start_cypress_parallel --config-file ../../test/security_solution_cypress/cypress/cypress_ci_serverless.config.ts --ftr-config-file ../../test/security_solution_cypress/serverless_config", "cypress:open:serverless": "yarn cypress:serverless open --config-file ../../test/security_solution_cypress/cypress/cypress_serverless.config.ts --spec './cypress/e2e/**/*.cy.ts'", "cypress:run:serverless": "yarn cypress:serverless --spec './cypress/e2e/!(investigations|explore)/**/*.cy.ts'", "cypress:investigations:run:serverless": "yarn cypress:serverless --spec './cypress/e2e/investigations/**/*.cy.ts'", diff --git a/x-pack/test_serverless/functional/test_suites/observability/cypress/package.json b/x-pack/test_serverless/functional/test_suites/observability/cypress/package.json index 3c2d296e313e2..bf0dad8dd01e6 100644 --- a/x-pack/test_serverless/functional/test_suites/observability/cypress/package.json +++ b/x-pack/test_serverless/functional/test_suites/observability/cypress/package.json @@ -5,9 +5,9 @@ "private": true, "license": "Elastic License 2.0", "scripts": { - "cypress:open": "../../../../../../node_modules/.bin/cypress open --config-file ./cypress.config.ts", - "cypress:run": "../../../../../../node_modules/.bin/cypress run --browser chrome --config-file ./cypress.config.ts", - "cypress:serverless:open": "node ../../../../../../scripts/functional_tests --config ./config_runner.ts", - "cypress:serverless:run": "node ../../../../../../scripts/functional_tests --config ./config_server.ts" + "cypress:open": "NODE_OPTIONS=--openssl-legacy-provider node ../../../../../../node_modules/.bin/cypress open --config-file ./cypress.config.ts", + "cypress:run": "NODE_OPTIONS=--openssl-legacy-provider node ../../../../../../node_modules/.bin/cypress run --browser chrome --config-file ./cypress.config.ts", + "cypress:serverless:open": "NODE_OPTIONS=--openssl-legacy-provider node ../../../../../../scripts/functional_tests --config ./config_runner.ts", + "cypress:serverless:run": "NODE_OPTIONS=--openssl-legacy-provider node ../../../../../../scripts/functional_tests --config ./config_server.ts" } } \ No newline at end of file diff --git a/x-pack/test_serverless/functional/test_suites/security/cypress/package.json b/x-pack/test_serverless/functional/test_suites/security/cypress/package.json index fd3033c84be38..ef8534585d4d0 100644 --- a/x-pack/test_serverless/functional/test_suites/security/cypress/package.json +++ b/x-pack/test_serverless/functional/test_suites/security/cypress/package.json @@ -5,9 +5,9 @@ "private": true, "license": "Elastic License 2.0", "scripts": { - "cypress": "../../../../../../node_modules/.bin/cypress", - "cypress:open": "node ../../../../../plugins/security_solution/scripts/start_cypress_parallel open --config-file ../../../x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts --ftr-config-file ../../../../../../x-pack/test_serverless/functional/test_suites/security/cypress/security_config", - "cypress:run": "node ../../../../../plugins/security_solution/scripts/start_cypress_parallel run --browser chrome --config-file ../../../x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts --ftr-config-file ../../../../../../x-pack/test_serverless/functional/test_suites/security/cypress/security_config --reporter ../../../../../../node_modules/cypress-multi-reporters --reporter-options configFile=./reporter_config.json; status=$?; yarn junit:merge && exit $status", + "cypress": "NODE_OPTIONS=--openssl-legacy-provider node ../../../../../../node_modules/.bin/cypress", + "cypress:open": "NODE_OPTIONS=--openssl-legacy-provider node ../../../../../plugins/security_solution/scripts/start_cypress_parallel open --config-file ../../../x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts --ftr-config-file ../../../../../../x-pack/test_serverless/functional/test_suites/security/cypress/security_config", + "cypress:run": "NODE_OPTIONS=--openssl-legacy-provider node ../../../../../plugins/security_solution/scripts/start_cypress_parallel run --browser chrome --config-file ../../../x-pack/test_serverless/functional/test_suites/security/cypress/cypress.config.ts --ftr-config-file ../../../../../../x-pack/test_serverless/functional/test_suites/security/cypress/security_config --reporter ../../../../../../node_modules/cypress-multi-reporters --reporter-options configFile=./reporter_config.json; status=$?; yarn junit:merge && exit $status", "junit:merge": "../../../../../../node_modules/.bin/mochawesome-merge ../../../../../../target/kibana-security-serverless/cypress/results/mochawesome*.json > ../../../../../../target/kibana-security-serverless/cypress/results/output.json && ../../../../../../node_modules/.bin/marge ../../../../../../target/kibana-security-serverless/cypress/results/output.json --reportDir ../../../../../../target/kibana-security-serverless/cypress/results && mkdir -p ../../../../../../target/junit && cp ../../../../../../target/kibana-security-serverless/cypress/results/*.xml ../../../../../../target/junit/" } } \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index a743d2ee4a6ea..ed2d78a553642 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1374,7 +1374,7 @@ find-test-names "^1.19.0" globby "^11.0.4" -"@cypress/request@^2.88.10": +"@cypress/request@2.88.12": version "2.88.12" resolved "https://registry.yarnpkg.com/@cypress/request/-/request-2.88.12.tgz#ba4911431738494a85e93fb04498cb38bc55d590" integrity sha512-tOn+0mDZxASFM+cuAP9szGUGPI1HwWVSvdzm7V4cCsPdFTx6qMj29CwaQmRAMIEhORIUBFBsYROYJcveK4uOjA== @@ -9414,7 +9414,7 @@ dependencies: "@types/node" "*" -"@types/node@*", "@types/node@18.17.1", "@types/node@>= 8", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@>=8.9.0", "@types/node@^10.1.0", "@types/node@^14.0.10 || ^16.0.0", "@types/node@^14.14.20 || ^16.0.0", "@types/node@^14.14.31", "@types/node@^18.11.18": +"@types/node@*", "@types/node@18.17.1", "@types/node@>= 8", "@types/node@>=12.12.47", "@types/node@>=13.7.0", "@types/node@>=8.9.0", "@types/node@^10.1.0", "@types/node@^14.0.10 || ^16.0.0", "@types/node@^14.14.20 || ^16.0.0", "@types/node@^16.18.39", "@types/node@^18.11.18": version "18.17.1" resolved "https://registry.yarnpkg.com/@types/node/-/node-18.17.1.tgz#84c32903bf3a09f7878c391d31ff08f6fe7d8335" integrity sha512-xlR1jahfizdplZYRU59JlUx9uzF1ARa8jbhM11ccpCJya8kvos5jwdm2ZAgxSCwOl0fq21svP18EVwPBXMQudw== @@ -13868,14 +13868,14 @@ cypress-recurse@^1.35.1: dependencies: humanize-duration "^3.27.3" -cypress@^12.13.0: - version "12.13.0" - resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.13.0.tgz#725b6617ea19e41e5c59cc509fc3e08097142b01" - integrity sha512-QJlSmdPk+53Zhy69woJMySZQJoWfEWun3X5OOenGsXjRPVfByVTHorxNehbzhZrEzH9RDUDqVcck0ahtlS+N/Q== +cypress@^12.17.4: + version "12.17.4" + resolved "https://registry.yarnpkg.com/cypress/-/cypress-12.17.4.tgz#b4dadf41673058493fa0d2362faa3da1f6ae2e6c" + integrity sha512-gAN8Pmns9MA5eCDFSDJXWKUpaL3IDd89N9TtIupjYnzLSmlpVr+ZR+vb4U/qaMp+lB6tBvAmt7504c3Z4RU5KQ== dependencies: - "@cypress/request" "^2.88.10" + "@cypress/request" "2.88.12" "@cypress/xvfb" "^1.2.4" - "@types/node" "^14.14.31" + "@types/node" "^16.18.39" "@types/sinonjs__fake-timers" "8.1.1" "@types/sizzle" "^2.3.2" arch "^2.2.0" @@ -13908,9 +13908,10 @@ cypress@^12.13.0: minimist "^1.2.8" ospath "^1.2.2" pretty-bytes "^5.6.0" + process "^0.11.10" proxy-from-env "1.0.0" request-progress "^3.0.0" - semver "^7.3.2" + semver "^7.5.3" supports-color "^8.1.1" tmp "~0.2.1" untildify "^4.0.0" From 20be3d0b5dab4b9b79a42297d6bc4b604a43b9ee Mon Sep 17 00:00:00 2001 From: Clint Andrew Hall <clint.hall@elastic.co> Date: Tue, 19 Sep 2023 13:27:55 -0400 Subject: [PATCH 141/149] [management] Adjustments to Settings components and utilities (#166413) > **Caveat**: the functional flow logic we've adopted for these components is not one I would encourage, specifically, using "drilled" `onChange` handlers and utilizing a composing-component-based store. Ideally, we'd use a `redux` store, or, at the very least a React `reducer`. > > In the interest of time and compatibility, we've opted to use the pattern from the original components in `advancedSettings`. We plan to revisit the state management and prop-drilling when `advancedSettings` is refactored with these components. > This PR is a prerequisite to https://github.com/elastic/kibana/pull/166319 and to completing the Advanced Settings page in Serverless. > **Note**: Github appears to be a bit confused in the diff comparison, due to the addition to `React.forwardRef`... apologies for the noise. ## Summary While working on https://github.com/elastic/kibana/pull/166319 I found a number of bugs when working against actual UI settings stored in Kibana. This PR addresses those issues without waiting for the Settings page to be complete: - Refactors `input` components to have cleaner APIs, including `unsavedChange` and `field` "all the way down". - This cleans up confusing logic, and sets us up for Redux actions. - Creates a `normalizeSettings` function. - Settings returned from the `UiSettingsService` in an actual deployment of Kibana are drastically unpredictable. In some cases, `type` is missing, but `value` is there... or `value` is missing entirely, but a `userValue` is there. - This function "normalizes" the data, deriving missing parts where possible. - Changes the `onChangeFn` to accept `undefined` to indicate an unsaved change has been reverted, rather than relying on the _value_ in the unsaved change. - This fixes a number of issues around resets and reverts. - Alters the `unsavedChange` prop to be undefined, (to indicate the lack of an unsaved change), rather than an undefined value. - Fixes an issue where the `ImageFieldInput` wasn't removing a file that had been set when resetting to default; - Adds an imperative ref to `FieldInput` components to reset a field's input beyond resetting the value, (if necessary). - Fixes the Storybook `common` setups to allow for changes to the `onChange` types. - Fixed a bug where the `FieldRow` was indexing an unsaved change by `name`, rather than by `id`. - Fixed an issue where the reset link wasn't always clearing a change to the default value. - Fixes an issue with the aria label not being derived properly using the `query`. - Splits the utility functions into their respective namespaces: `settings` and `fields`. - Adds a few more tests to the utility functions to catch logic errors. --- .github/CODEOWNERS | 10 +- packages/kbn-management/settings/README.mdx | 11 + .../field_input/__stories__/common.tsx | 72 +++-- .../__stories__/select_input.stories.tsx | 13 + .../field_input/field_input.test.tsx | 7 +- .../components/field_input/field_input.tsx | 260 ++++++++---------- .../settings/components/field_input/index.ts | 7 +- .../field_input/input/array_input.test.tsx | 42 ++- .../field_input/input/array_input.tsx | 38 ++- .../field_input/input/boolean_input.test.tsx | 45 ++- .../field_input/input/boolean_input.tsx | 26 +- .../field_input/input/code_editor_input.tsx | 47 ++-- .../input/color_picker_input.test.tsx | 51 +++- .../field_input/input/color_picker_input.tsx | 33 ++- .../field_input/input/image_input.test.tsx | 29 +- .../field_input/input/image_input.tsx | 61 ++-- .../input/json_editor_input.test.tsx | 46 +++- .../input/markdown_editor_input.test.tsx | 41 ++- .../field_input/input/number_input.test.tsx | 60 +++- .../field_input/input/number_input.tsx | 37 +-- .../field_input/input/select_input.test.tsx | 34 ++- .../field_input/input/select_input.tsx | 31 ++- .../field_input/input/text_input.test.tsx | 33 ++- .../field_input/input/text_input.tsx | 28 +- .../components/field_input/kibana.jsonc | 4 +- .../settings/components/field_input/types.ts | 41 +-- .../field_row/__stories__/common.tsx | 69 +++-- .../__stories__/select_field.stories.tsx | 2 +- .../description/default_value.test.tsx | 22 ++ .../field_row/description/default_value.tsx | 20 +- .../description/deprecation.test.tsx | 1 + .../field_row/description/deprecation.tsx | 7 - .../description/description.test.tsx | 13 + .../field_row/description/description.tsx | 2 +- .../components/field_row/field_row.test.tsx | 97 ++++++- .../components/field_row/field_row.tsx | 117 ++++---- .../footer/change_image_link.test.tsx | 92 +++++++ .../change_image_link.tsx | 77 +++--- .../{input_footer => footer}/index.ts | 1 + .../field_row/footer/input_footer.styles.ts | 28 ++ .../{input_footer => footer}/input_footer.tsx | 22 +- .../overridden_message.test.tsx | 0 .../overridden_message.tsx | 0 .../field_row/footer/reset_link.test.tsx | 82 ++++++ .../field_row/footer/reset_link.tsx | 72 +++++ .../settings/components/field_row/index.ts | 8 + .../input_footer/change_image_link.test.tsx | 81 ------ .../input_footer/reset_link.test.tsx | 54 ---- .../field_row/input_footer/reset_link.tsx | 64 ----- .../components/field_row/kibana.jsonc | 4 +- .../components/field_row/services.tsx | 11 +- .../components/field_row/title/title.tsx | 5 +- .../settings/components/field_row/types.ts | 5 +- .../field_definition/get_definition.ts | 12 +- .../field_definition/get_definitions.ts | 31 +++ .../settings/field_definition/index.ts | 1 + .../settings/field_definition/kibana.jsonc | 4 +- .../storybook/field_definition.ts | 100 ------- .../settings/field_definition/tsconfig.json | 2 + .../kbn-management/settings/types/index.ts | 18 ++ .../settings/types/kibana.jsonc | 4 +- .../kbn-management/settings/types/metadata.ts | 2 +- .../utilities/field/get_input_value.ts | 106 +++++++ .../field/has_unsaved_change.test.ts | 53 ++++ .../{ => field}/has_unsaved_change.ts | 13 +- .../settings/utilities/field/index.ts | 12 + .../utilities/field/is_default_value.ts | 35 +++ .../settings/utilities/field/use_update.ts | 36 +++ .../settings/utilities/get_input_value.ts | 46 ---- .../settings/utilities/index.ts | 11 +- .../settings/utilities/is_unsaved_value.ts | 27 -- .../settings/utilities/kibana.jsonc | 4 +- .../settings/utilities/setting/index.ts | 10 + .../utilities/setting/is_default_value.ts | 30 ++ .../setting/normalize_settings.test.ts | 75 +++++ .../utilities/setting/normalize_settings.ts | 118 ++++++++ .../storybook/index.ts | 1 - .../storybook/values.ts | 0 78 files changed, 1806 insertions(+), 1008 deletions(-) create mode 100644 packages/kbn-management/settings/README.mdx create mode 100644 packages/kbn-management/settings/components/field_row/footer/change_image_link.test.tsx rename packages/kbn-management/settings/components/field_row/{input_footer => footer}/change_image_link.tsx (51%) rename packages/kbn-management/settings/components/field_row/{input_footer => footer}/index.ts (85%) create mode 100644 packages/kbn-management/settings/components/field_row/footer/input_footer.styles.ts rename packages/kbn-management/settings/components/field_row/{input_footer => footer}/input_footer.tsx (77%) rename packages/kbn-management/settings/components/field_row/{input_footer => footer}/overridden_message.test.tsx (100%) rename packages/kbn-management/settings/components/field_row/{input_footer => footer}/overridden_message.tsx (100%) create mode 100644 packages/kbn-management/settings/components/field_row/footer/reset_link.test.tsx create mode 100644 packages/kbn-management/settings/components/field_row/footer/reset_link.tsx delete mode 100644 packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx delete mode 100644 packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx delete mode 100644 packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx create mode 100644 packages/kbn-management/settings/field_definition/get_definitions.ts delete mode 100644 packages/kbn-management/settings/field_definition/storybook/field_definition.ts create mode 100644 packages/kbn-management/settings/utilities/field/get_input_value.ts create mode 100644 packages/kbn-management/settings/utilities/field/has_unsaved_change.test.ts rename packages/kbn-management/settings/utilities/{ => field}/has_unsaved_change.ts (66%) create mode 100644 packages/kbn-management/settings/utilities/field/index.ts create mode 100644 packages/kbn-management/settings/utilities/field/is_default_value.ts create mode 100644 packages/kbn-management/settings/utilities/field/use_update.ts delete mode 100644 packages/kbn-management/settings/utilities/get_input_value.ts delete mode 100644 packages/kbn-management/settings/utilities/is_unsaved_value.ts create mode 100644 packages/kbn-management/settings/utilities/setting/index.ts create mode 100644 packages/kbn-management/settings/utilities/setting/is_default_value.ts create mode 100644 packages/kbn-management/settings/utilities/setting/normalize_settings.test.ts create mode 100644 packages/kbn-management/settings/utilities/setting/normalize_settings.ts rename packages/kbn-management/settings/{field_definition => utilities}/storybook/index.ts (88%) rename packages/kbn-management/settings/{field_definition => utilities}/storybook/values.ts (100%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 539735e934dc7..85c901fd8659e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -481,13 +481,13 @@ packages/kbn-managed-vscode-config @elastic/kibana-operations packages/kbn-managed-vscode-config-cli @elastic/kibana-operations packages/kbn-management/cards_navigation @elastic/platform-deployment-management src/plugins/management @elastic/platform-deployment-management -packages/kbn-management/settings/components/field_input @elastic/platform-deployment-management @elastic/appex-sharedux -packages/kbn-management/settings/components/field_row @elastic/platform-deployment-management @elastic/appex-sharedux -packages/kbn-management/settings/field_definition @elastic/platform-deployment-management @elastic/appex-sharedux +packages/kbn-management/settings/components/field_input @elastic/platform-deployment-management +packages/kbn-management/settings/components/field_row @elastic/platform-deployment-management +packages/kbn-management/settings/field_definition @elastic/platform-deployment-management packages/kbn-management/settings/setting_ids @elastic/appex-sharedux @elastic/platform-deployment-management packages/kbn-management/settings/section_registry @elastic/appex-sharedux @elastic/platform-deployment-management -packages/kbn-management/settings/types @elastic/platform-deployment-management @elastic/appex-sharedux -packages/kbn-management/settings/utilities @elastic/platform-deployment-management @elastic/appex-sharedux +packages/kbn-management/settings/types @elastic/platform-deployment-management +packages/kbn-management/settings/utilities @elastic/platform-deployment-management packages/kbn-management/storybook/config @elastic/platform-deployment-management test/plugin_functional/plugins/management_test_plugin @elastic/kibana-app-services packages/kbn-mapbox-gl @elastic/kibana-gis diff --git a/packages/kbn-management/settings/README.mdx b/packages/kbn-management/settings/README.mdx new file mode 100644 index 0000000000000..fa541b6719091 --- /dev/null +++ b/packages/kbn-management/settings/README.mdx @@ -0,0 +1,11 @@ +# Management Settings + +These packages comprise the Management Advanced Settings application. The source of these components and related types and utilities origingated in the `advancedSettings` plugin. We've abstracted it away into packages first, for Serverless, and later, as a drop-in replacement in the plugin. + +## Notes + +**Be aware**: the functional flow logic we've adopted for these components is not one I would encourage, specifically, using "drilled" onChange handlers and utilizing a composing-component-based store. Ideally, we'd use a Redux store, or, at the very least, a React reducer. + +In the interest of time and compatibility, we've opted to use the pattern from the original components in `advancedSettings`. We plan to revisit the state management and prop-drilling when `advancedSettings` is refactored with these components. + +This is being tracked with https://github.com/elastic/kibana/issues/166579 \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_input/__stories__/common.tsx b/packages/kbn-management/settings/components/field_input/__stories__/common.tsx index c3e167323d59f..399a125822a35 100644 --- a/packages/kbn-management/settings/components/field_input/__stories__/common.tsx +++ b/packages/kbn-management/settings/components/field_input/__stories__/common.tsx @@ -6,26 +6,30 @@ * Side Public License, v 1. */ -import React from 'react'; +import React, { useState } from 'react'; import type { ComponentMeta } from '@storybook/react'; import { action } from '@storybook/addon-actions'; import { EuiPanel } from '@elastic/eui'; import { UiSettingsType } from '@kbn/core-ui-settings-common'; -import { SettingType, UiSettingMetadata } from '@kbn/management-settings-types'; import { - useFieldDefinition, - getDefaultValue, -} from '@kbn/management-settings-field-definition/storybook'; + OnChangeFn, + SettingType, + UiSettingMetadata, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; +import { getFieldDefinition } from '@kbn/management-settings-field-definition'; +import { getDefaultValue, getUserValue } from '@kbn/management-settings-utilities/storybook'; import { FieldInputProvider } from '../services'; import { FieldInput as Component, FieldInput } from '../field_input'; -import { InputProps, OnChangeFn } from '../types'; +import { InputProps } from '../types'; /** * Props for a {@link FieldInput} Storybook story. */ -export type StoryProps<T extends SettingType> = Pick<InputProps<T>, 'value' | 'isDisabled'>; +export type StoryProps<T extends SettingType> = Pick<InputProps<T>, 'isSavingEnabled'> & + Pick<UiSettingMetadata<T>, 'value' | 'userValue'>; /** * Interface defining available {@link https://storybook.js.org/docs/react/writing-stories/parameters parameters} @@ -42,17 +46,11 @@ interface Params { */ export interface Args { /** True if the field is disabled, false otherwise. */ - isDisabled: boolean; + isSavingEnabled: boolean; + userValue: unknown; + value: unknown; } -/** - * Default argument values for a {@link FieldInput} Storybook story. - */ -export const storyArgs = { - /** True if the field is disabled, false otherwise. */ - isDisabled: false, -}; - /** * Utility function for returning a {@link FieldInput} Storybook story * definition. @@ -65,10 +63,13 @@ export const getStory = (title: string, description: string) => title: `Settings/Field Input/${title}`, description, argTypes: { - isDisabled: { - name: 'Is field disabled?', + isSavingEnabled: { + name: 'Is saving enabled?', }, value: { + name: 'Default value', + }, + userValue: { name: 'Current saved value', }, }, @@ -90,30 +91,45 @@ export const getStory = (title: string, description: string) => * @returns A Storybook Story. */ export const getInputStory = (type: SettingType, params: Params = {}) => { - const Story = ({ value, isDisabled = false }: StoryProps<typeof type>) => { + const Story = ({ userValue, value, isSavingEnabled }: StoryProps<typeof type>) => { + const [unsavedChange, setUnsavedChange] = useState< + UnsavedFieldChange<typeof type> | undefined + >(); + const setting: UiSettingMetadata<typeof type> = { type, value, - userValue: value, + userValue, ...params.settingFields, }; - const [field, unsavedChange, onChangeFn] = useFieldDefinition(setting); + const field = getFieldDefinition({ + id: setting.name?.split(' ').join(':').toLowerCase() || setting.type, + setting, + }); const onChange: OnChangeFn<typeof type> = (newChange) => { - onChangeFn(newChange); + setUnsavedChange(newChange); + + action('onChange')({ + type, + unsavedValue: newChange?.unsavedValue, + savedValue: field.savedValue, + }); }; - return ( - <FieldInput - {...{ field, isInvalid: unsavedChange.isInvalid, unsavedChange, onChange, isDisabled }} - /> - ); + + return <FieldInput {...{ field, unsavedChange, onChange, isSavingEnabled }} />; + }; + + Story.argTypes = { + ...params.argTypes, }; Story.args = { + isSavingEnabled: true, value: getDefaultValue(type), + userValue: getUserValue(type), ...params.argTypes, - ...storyArgs, }; return Story; diff --git a/packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx b/packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx index c7571494e7ca8..08a46e3618c6c 100644 --- a/packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx +++ b/packages/kbn-management/settings/components/field_input/__stories__/select_input.stories.tsx @@ -10,6 +10,13 @@ import { getInputStory, getStory } from './common'; const argTypes = { value: { + name: 'Default value', + control: { + type: 'select', + options: ['option1', 'option2', 'option3'], + }, + }, + userValue: { name: 'Current saved value', control: { type: 'select', @@ -25,3 +32,9 @@ const settingFields = { export default getStory('Select Input', 'An input with multiple values.'); export const SelectInput = getInputStory('select' as const, { argTypes, settingFields }); + +SelectInput.args = { + isSavingEnabled: true, + value: 'option1', + userValue: 'option2', +}; diff --git a/packages/kbn-management/settings/components/field_input/field_input.test.tsx b/packages/kbn-management/settings/components/field_input/field_input.test.tsx index 9bbac96b7c12c..0305636fd35e6 100644 --- a/packages/kbn-management/settings/components/field_input/field_input.test.tsx +++ b/packages/kbn-management/settings/components/field_input/field_input.test.tsx @@ -56,6 +56,7 @@ describe('FieldInput', () => { options, } as FieldDefinition<typeof type>, onChange: jest.fn(), + isSavingEnabled: true, }; return props; @@ -131,12 +132,12 @@ describe('FieldInput', () => { const { getByTestId } = render(wrap(<FieldInput {...props} />)); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); fireEvent.change(input, { target: { value: 'new value' } }); - expect(props.onChange).toHaveBeenCalledWith({ value: 'new value' }); + expect(props.onChange).toHaveBeenCalledWith({ type: 'string', unsavedValue: 'new value' }); }); it('disables the input when isDisabled prop is true', () => { const props = getDefaultProps('string'); - const { getByTestId } = render(wrap(<FieldInput {...props} isDisabled />)); + const { getByTestId } = render(wrap(<FieldInput {...props} isSavingEnabled={false} />)); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${name}`); expect(input).toBeDisabled(); }); @@ -190,7 +191,7 @@ describe('FieldInput', () => { ...defaultProps.field, type: 'foobar', }, - } as unknown as FieldInputProps<'string'>; + } as unknown as FieldInputProps<SettingType>; expect(() => render(wrap(<FieldInput {...props} />))).toThrowError( 'Unknown or incompatible field type: foobar' diff --git a/packages/kbn-management/settings/components/field_input/field_input.tsx b/packages/kbn-management/settings/components/field_input/field_input.tsx index 301be48ee5141..ae9e3c5c6c536 100644 --- a/packages/kbn-management/settings/components/field_input/field_input.tsx +++ b/packages/kbn-management/settings/components/field_input/field_input.tsx @@ -6,10 +6,12 @@ * Side Public License, v 1. */ -import React from 'react'; +import React, { useImperativeHandle, useRef } from 'react'; import type { FieldDefinition, + OnChangeFn, + ResetInputRef, SettingType, UnsavedFieldChange, } from '@kbn/management-settings-types'; @@ -40,8 +42,6 @@ import { isUndefinedFieldUnsavedChange, } from '@kbn/management-settings-field-definition/is'; -import { getInputValue } from '@kbn/management-settings-utilities'; - import { BooleanInput, CodeEditorInput, @@ -51,23 +51,20 @@ import { SelectInput, TextInput, ArrayInput, - TextInputProps, } from './input'; -import { OnChangeFn } from './types'; - /** * The props that are passed to the {@link FieldInput} component. */ export interface FieldInputProps<T extends SettingType> { /** The {@link FieldDefinition} for the component. */ - field: FieldDefinition<T>; + field: Pick<FieldDefinition<T>, 'type' | 'id' | 'name' | 'ariaAttributes'>; /** An {@link UnsavedFieldChange} for the component, if any. */ unsavedChange?: UnsavedFieldChange<T>; /** The `onChange` handler for the input. */ onChange: OnChangeFn<T>; - /** True if the input is disabled, false otherwise. */ - isDisabled?: boolean; + /** True if the input can be saved, false otherwise. */ + isSavingEnabled: boolean; /** True if the value within the input is invalid, false otherwise. */ isInvalid?: boolean; } @@ -84,167 +81,140 @@ const getMismatchError = (type: SettingType, unsavedType?: SettingType) => * * @param props The props for the {@link FieldInput} component. */ -export const FieldInput = <T extends SettingType>(props: FieldInputProps<T>) => { - const { - field, - unsavedChange, - isDisabled = false, - isInvalid = false, - onChange: onChangeProp, - } = props; - const { id, name, ariaAttributes } = field; - - const inputProps = { - ...ariaAttributes, - id, - isDisabled, - isInvalid, - name, - }; - - // These checks might seem excessive or redundant, but they are necessary to ensure that - // the types are honored correctly using type guards. These checks get compiled down to - // checks against the `type` property-- which we were doing in the previous code, albeit - // in an unenforceable way. - // - // Based on the success of a check, we can render the `FieldInput` in a indempotent and - // type-safe way. - // - if (isArrayFieldDefinition(field)) { - // If the composing component mistakenly provides an incompatible `UnsavedFieldChange`, - // we can throw an `Error`. We might consider switching to a `console.error` and not - // rendering the input, but that might be less helpful. - if (!isArrayFieldUnsavedChange(unsavedChange)) { - throw getMismatchError(field.type, unsavedChange?.type); +export const FieldInput = React.forwardRef<ResetInputRef, FieldInputProps<SettingType>>( + (props, ref) => { + const { field, unsavedChange, onChange, isSavingEnabled } = props; + + // Create a ref for those input fields that require an imperative handle. + const inputRef = useRef<ResetInputRef>(null); + + // Create an imperative handle that passes the invocation to any internal input that + // may require it. + useImperativeHandle(ref, () => ({ + reset: () => { + if (inputRef.current) { + inputRef.current.reset(); + } + }, + })); + + const inputProps = { isSavingEnabled, onChange }; + + // These checks might seem excessive or redundant, but they are necessary to ensure that + // the types are honored correctly using type guards. These checks get compiled down to + // checks against the `type` property-- which we were doing in the previous code, albeit + // in an unenforceable way. + // + // Based on the success of a check, we can render the `FieldInput` in a indempotent and + // type-safe way. + // + if (isArrayFieldDefinition(field)) { + // If the composing component mistakenly provides an incompatible `UnsavedFieldChange`, + // we can throw an `Error`. We might consider switching to a `console.error` and not + // rendering the input, but that might be less helpful. + if (!isArrayFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + return <ArrayInput {...{ field, unsavedChange, ...inputProps }} />; } - const [value] = getInputValue(field, unsavedChange); - - // This is a safe cast because we've already checked that the type is correct in both - // the `FieldDefinition` and the `UnsavedFieldChange`... no need for a further - // type guard. - const onChange = onChangeProp as OnChangeFn<'array'>; + if (isBooleanFieldDefinition(field)) { + if (!isBooleanFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } - return <ArrayInput {...{ ...inputProps, onChange, value }} />; - } - - if (isBooleanFieldDefinition(field)) { - if (!isBooleanFieldUnsavedChange(unsavedChange)) { - throw getMismatchError(field.type, unsavedChange?.type); + return <BooleanInput {...{ field, unsavedChange, ...inputProps }} />; } - const [value] = getInputValue(field, unsavedChange); - const onChange = onChangeProp as OnChangeFn<'boolean'>; - - return <BooleanInput {...{ ...inputProps, onChange, value }} />; - } + if (isColorFieldDefinition(field)) { + if (!isColorFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } - if (isColorFieldDefinition(field)) { - if (!isColorFieldUnsavedChange(unsavedChange)) { - throw getMismatchError(field.type, unsavedChange?.type); + return <ColorPickerInput {...{ field, unsavedChange, ...inputProps }} />; } - const [value] = getInputValue(field, unsavedChange); - const onChange = onChangeProp as OnChangeFn<'color'>; - - return <ColorPickerInput {...{ ...inputProps, onChange, value }} />; - } + if (isImageFieldDefinition(field)) { + if (!isImageFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } - if (isImageFieldDefinition(field)) { - if (!isImageFieldUnsavedChange(unsavedChange)) { - throw getMismatchError(field.type, unsavedChange?.type); + return <ImageInput {...{ field, unsavedChange, ...inputProps }} ref={inputRef} />; } - const [value, unsaved] = getInputValue(field, unsavedChange); - const onChange = onChangeProp as OnChangeFn<'image'>; - - return ( - <ImageInput - {...{ ...inputProps, onChange, value }} - isDefaultValue={field.isDefaultValue} - hasChanged={unsaved} - /> - ); - } - - if (isJsonFieldDefinition(field)) { - if (!isJsonFieldUnsavedChange(unsavedChange)) { - throw getMismatchError(field.type, unsavedChange?.type); + if (isJsonFieldDefinition(field)) { + if (!isJsonFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + return ( + <CodeEditorInput + {...{ field, unsavedChange, ...inputProps }} + type="json" + defaultValue={field.savedValue || ''} + /> + ); } - const [value] = getInputValue(field, unsavedChange); - const onChange = onChangeProp as OnChangeFn<'json'>; - - return ( - <CodeEditorInput - {...{ ...inputProps, onChange, value }} - type="json" - defaultValue={field.savedValue || ''} - /> - ); - } - - if (isMarkdownFieldDefinition(field)) { - if (!isMarkdownFieldUnsavedChange(unsavedChange)) { - throw getMismatchError(field.type, unsavedChange?.type); + if (isMarkdownFieldDefinition(field)) { + if (!isMarkdownFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + return ( + <CodeEditorInput + {...{ field, unsavedChange, ...inputProps }} + type="markdown" + defaultValue={field.savedValue || ''} + /> + ); } - const [value] = getInputValue(field, unsavedChange); - const onChange = onChangeProp as OnChangeFn<'markdown'>; + if (isNumberFieldDefinition(field)) { + if (!isNumberFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } - return ( - <CodeEditorInput - {...{ ...inputProps, onChange, value }} - type="markdown" - defaultValue={field.savedValue || ''} - /> - ); - } - - if (isNumberFieldDefinition(field)) { - if (!isNumberFieldUnsavedChange(unsavedChange)) { - throw getMismatchError(field.type, unsavedChange?.type); + return <NumberInput {...{ field, unsavedChange, ...inputProps }} />; } - const [value] = getInputValue(field, unsavedChange); - const onChange = onChangeProp as OnChangeFn<'number'>; + if (isSelectFieldDefinition(field)) { + if (!isSelectFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } - return <NumberInput {...{ ...inputProps, onChange, value }} />; - } + const { + options: { values: optionValues, labels: optionLabels }, + } = field; - if (isSelectFieldDefinition(field)) { - if (!isSelectFieldUnsavedChange(unsavedChange)) { - throw getMismatchError(field.type, unsavedChange?.type); + return ( + <SelectInput {...{ field, unsavedChange, optionLabels, optionValues, ...inputProps }} /> + ); } - const [value] = getInputValue(field, unsavedChange); - const onChange = onChangeProp as OnChangeFn<'select'>; - const { - options: { values: optionValues, labels: optionLabels }, - } = field; + if (isStringFieldDefinition(field)) { + if (!isStringFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } - return <SelectInput {...{ ...inputProps, onChange, optionLabels, optionValues, value }} />; - } - - if (isStringFieldDefinition(field)) { - if (!isStringFieldUnsavedChange(unsavedChange)) { - throw getMismatchError(field.type, unsavedChange?.type); + return <TextInput {...{ field, unsavedChange, ...inputProps }} />; } - const [value] = getInputValue(field, unsavedChange); - const onChange = onChangeProp as OnChangeFn<'string'>; - - return <TextInput {...{ ...inputProps, onChange, value }} />; - } - - if (isUndefinedFieldDefinition(field)) { - if (!isUndefinedFieldUnsavedChange(unsavedChange)) { - throw getMismatchError(field.type, unsavedChange?.type); + if (isUndefinedFieldDefinition(field)) { + if (!isUndefinedFieldUnsavedChange(unsavedChange)) { + throw getMismatchError(field.type, unsavedChange?.type); + } + + return ( + <TextInput + field={field as unknown as FieldDefinition<'string'>} + unsavedChange={unsavedChange as unknown as UnsavedFieldChange<'string'>} + {...inputProps} + /> + ); } - const [value] = getInputValue(field, unsavedChange); - return <TextInput {...{ ...(inputProps as unknown as TextInputProps), value }} />; + throw new Error(`Unknown or incompatible field type: ${field.type}`); } - - throw new Error(`Unknown or incompatible field type: ${field.type}`); -}; +); diff --git a/packages/kbn-management/settings/components/field_input/index.ts b/packages/kbn-management/settings/components/field_input/index.ts index 8570f9af23c93..dc516877e8d51 100644 --- a/packages/kbn-management/settings/components/field_input/index.ts +++ b/packages/kbn-management/settings/components/field_input/index.ts @@ -8,9 +8,4 @@ export { FieldInput, type FieldInputProps } from './field_input'; -export type { - FieldInputKibanaDependencies, - FieldInputServices, - OnChangeFn, - OnChangeParams, -} from './types'; +export type { FieldInputKibanaDependencies, FieldInputServices, InputProps } from './types'; diff --git a/packages/kbn-management/settings/components/field_input/input/array_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/array_input.test.tsx index 2b420d39ee2a5..6f80de3039b70 100644 --- a/packages/kbn-management/settings/components/field_input/input/array_input.test.tsx +++ b/packages/kbn-management/settings/components/field_input/input/array_input.test.tsx @@ -12,21 +12,30 @@ import userEvent from '@testing-library/user-event'; import { ArrayInput } from './array_input'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; import { wrap } from '../mocks'; +import { InputProps } from '../types'; const name = 'Some array field'; const id = 'some:array:field'; describe('ArrayInput', () => { - const defaultProps = { - id, - name, - ariaLabel: 'Test', - onChange: jest.fn(), - value: ['foo', 'bar'], + const onChange = jest.fn(); + const defaultProps: InputProps<'array'> = { + onChange, + field: { + name, + type: 'array', + ariaAttributes: { + ariaLabel: name, + }, + id, + isOverridden: false, + defaultValue: ['foo', 'bar'], + }, + isSavingEnabled: true, }; beforeEach(() => { - defaultProps.onChange.mockClear(); + onChange.mockClear(); }); it('renders without errors', () => { @@ -39,6 +48,18 @@ describe('ArrayInput', () => { expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).toHaveValue('foo, bar'); }); + it('renders saved value when present', () => { + render( + wrap( + <ArrayInput + {...defaultProps} + field={{ ...defaultProps.field, savedValue: ['foo', 'bar', 'baz'] }} + /> + ) + ); + expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).toHaveValue('foo, bar, baz'); + }); + it('formats array when blurred', () => { render(wrap(<ArrayInput {...defaultProps} />)); const input = screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); @@ -63,11 +84,14 @@ describe('ArrayInput', () => { input.blur(); }); - expect(defaultProps.onChange).toHaveBeenCalledWith({ value: ['foo', 'bar', 'baz'] }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ + type: 'array', + unsavedValue: ['foo', 'bar', 'baz'], + }); }); it('disables the input when isDisabled prop is true', () => { - const { getByTestId } = render(wrap(<ArrayInput {...defaultProps} isDisabled />)); + const { getByTestId } = render(wrap(<ArrayInput {...defaultProps} isSavingEnabled={false} />)); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); expect(input).toBeDisabled(); }); diff --git a/packages/kbn-management/settings/components/field_input/input/array_input.tsx b/packages/kbn-management/settings/components/field_input/input/array_input.tsx index d5e4d8f202ec5..dfc92dc980bbd 100644 --- a/packages/kbn-management/settings/components/field_input/input/array_input.tsx +++ b/packages/kbn-management/settings/components/field_input/input/array_input.tsx @@ -7,7 +7,10 @@ */ import React, { useEffect, useState } from 'react'; -import { EuiFieldText } from '@elastic/eui'; +import { EuiFieldText, EuiFieldTextProps } from '@elastic/eui'; + +import { getFieldInputValue } from '@kbn/management-settings-utilities'; +import { useUpdate } from '@kbn/management-settings-utilities'; import { InputProps } from '../types'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; @@ -23,19 +26,24 @@ const REGEX = /,\s+/g; * Component for manipulating an `array` field. */ export const ArrayInput = ({ - id, - name, + field, + unsavedChange, + isSavingEnabled, onChange: onChangeProp, - ariaLabel, - isDisabled = false, - value: valueProp, - ariaDescribedBy, }: ArrayInputProps) => { - const [value, setValue] = useState(valueProp?.join(', ')); + const [inputValue] = getFieldInputValue(field, unsavedChange) || []; + const [value, setValue] = useState(inputValue?.join(', ')); + + const onChange: EuiFieldTextProps['onChange'] = (event) => { + const newValue = event.target.value; + setValue(newValue); + }; + + const onUpdate = useUpdate({ onChange: onChangeProp, field }); useEffect(() => { - setValue(valueProp?.join(', ')); - }, [valueProp]); + setValue(inputValue?.join(', ')); + }, [inputValue]); // In the past, each keypress would invoke the `onChange` callback. This // is likely wasteful, so we've switched it to `onBlur` instead. @@ -44,19 +52,21 @@ export const ArrayInput = ({ .replace(REGEX, ',') .split(',') .filter((v) => v !== ''); - onChangeProp({ value: blurValue }); + onUpdate({ type: field.type, unsavedValue: blurValue }); setValue(blurValue.join(', ')); }; + const { id, name, ariaAttributes } = field; + const { ariaLabel, ariaDescribedBy } = ariaAttributes; + return ( <EuiFieldText fullWidth data-test-subj={`${TEST_SUBJ_PREFIX_FIELD}-${id}`} - disabled={isDisabled} + disabled={!isSavingEnabled} aria-label={ariaLabel} aria-describedby={ariaDescribedBy} - onChange={(event) => setValue(event.target.value)} - {...{ name, onBlur, value }} + {...{ name, onBlur, onChange, value }} /> ); }; diff --git a/packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx index 6c713261f11ca..b9f3ac883421b 100644 --- a/packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx +++ b/packages/kbn-management/settings/components/field_input/input/boolean_input.test.tsx @@ -13,34 +13,55 @@ import { BooleanInput } from './boolean_input'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; import { wrap } from '../mocks'; +import { InputProps } from '../types'; const name = 'Some boolean field'; const id = 'some:boolean:field'; describe('BooleanInput', () => { - const defaultProps = { - id, - name, - ariaLabel: name, - onChange: jest.fn(), + const onChange = jest.fn(); + const defaultProps: InputProps<'boolean'> = { + onChange, + field: { + name, + type: 'boolean', + ariaAttributes: { + ariaLabel: name, + }, + id, + isOverridden: false, + defaultValue: false, + }, + isSavingEnabled: true, }; beforeEach(() => { - defaultProps.onChange.mockClear(); + onChange.mockClear(); + }); + + it('renders false', () => { + render(wrap(<BooleanInput {...defaultProps} />)); + expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).not.toBeChecked(); }); it('renders true', () => { - render(wrap(<BooleanInput value={true} {...defaultProps} />)); + render( + wrap(<BooleanInput {...defaultProps} field={{ ...defaultProps.field, defaultValue: true }} />) + ); expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).toBeChecked(); }); - it('renders false', () => { - render(wrap(<BooleanInput value={false} {...defaultProps} />)); - expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).not.toBeChecked(); + it('renders unsaved value if present', () => { + render( + wrap( + <BooleanInput {...defaultProps} unsavedChange={{ type: 'boolean', unsavedValue: true }} /> + ) + ); + expect(screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`)).toBeChecked(); }); it('calls onChange when toggled', () => { - render(wrap(<BooleanInput value={true} {...defaultProps} />)); + render(wrap(<BooleanInput {...defaultProps} />)); const input = screen.getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); expect(defaultProps.onChange).not.toHaveBeenCalled(); @@ -48,7 +69,7 @@ describe('BooleanInput', () => { fireEvent.click(input); }); - expect(defaultProps.onChange).toBeCalledWith({ value: false }); + expect(defaultProps.onChange).toBeCalledWith({ type: 'boolean', unsavedValue: true }); act(() => { fireEvent.click(input); diff --git a/packages/kbn-management/settings/components/field_input/input/boolean_input.tsx b/packages/kbn-management/settings/components/field_input/input/boolean_input.tsx index d95073c096dd6..4f523da8067eb 100644 --- a/packages/kbn-management/settings/components/field_input/input/boolean_input.tsx +++ b/packages/kbn-management/settings/components/field_input/input/boolean_input.tsx @@ -11,6 +11,8 @@ import React from 'react'; import { EuiSwitch, EuiSwitchProps } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; +import { getFieldInputValue, useUpdate } from '@kbn/management-settings-utilities'; + import type { InputProps } from '../types'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; @@ -23,16 +25,21 @@ export type BooleanInputProps = InputProps<'boolean'>; * Component for manipulating a `boolean` field. */ export const BooleanInput = ({ - id, - ariaDescribedBy, - ariaLabel, - isDisabled: disabled = false, - name, + field, + unsavedChange, + isSavingEnabled, onChange: onChangeProp, - value, }: BooleanInputProps) => { - const onChange: EuiSwitchProps['onChange'] = (event) => - onChangeProp({ value: event.target.checked }); + const onChange: EuiSwitchProps['onChange'] = (event) => { + const inputValue = event.target.checked; + onUpdate({ type: field.type, unsavedValue: inputValue }); + }; + + const onUpdate = useUpdate({ onChange: onChangeProp, field }); + + const { id, name, ariaAttributes } = field; + const { ariaLabel, ariaDescribedBy } = ariaAttributes; + const [value] = getFieldInputValue(field, unsavedChange); return ( <EuiSwitch @@ -47,7 +54,8 @@ export const BooleanInput = ({ aria-describedby={ariaDescribedBy} checked={!!value} data-test-subj={`${TEST_SUBJ_PREFIX_FIELD}-${id}`} - {...{ disabled, name, onChange }} + disabled={!isSavingEnabled} + {...{ name, onChange }} /> ); }; diff --git a/packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx b/packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx index b5d0f2da8a86c..dc6c1e15043aa 100644 --- a/packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx +++ b/packages/kbn-management/settings/components/field_input/input/code_editor_input.tsx @@ -9,10 +9,12 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; + import { SettingType } from '@kbn/management-settings-types'; +import { getFieldInputValue, useUpdate } from '@kbn/management-settings-utilities'; -import { CodeEditor } from '../code_editor'; -import type { InputProps, OnChangeFn } from '../types'; +import { CodeEditor, CodeEditorProps } from '../code_editor'; +import type { InputProps } from '../types'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; type Type = Extract<SettingType, 'json' | 'markdown'>; @@ -23,11 +25,6 @@ type Type = Extract<SettingType, 'json' | 'markdown'>; export interface CodeEditorInputProps extends InputProps<Type> { /** The default value of the {@link CodeEditor} component. */ defaultValue?: string; - /** - * The `onChange` event handler, expanded to include both `markdown` - * and `json` - */ - onChange: OnChangeFn<Type>; /** * The {@link UiSettingType}, expanded to include both `markdown` * and `json` @@ -41,23 +38,23 @@ export interface CodeEditorInputProps extends InputProps<Type> { * TODO: clintandrewhall - `kibana_react` `CodeEditor` does not support `disabled`. */ export const CodeEditorInput = ({ - ariaDescribedBy, - ariaLabel, + field, + unsavedChange, + type, + isSavingEnabled, defaultValue, - id, - isDisabled = false, onChange: onChangeProp, - type, - value: valueProp = '', }: CodeEditorInputProps) => { - const onChange = (newValue: string) => { + const onUpdate = useUpdate({ onChange: onChangeProp, field }); + + const onChange: CodeEditorProps['onChange'] = (inputValue) => { let newUnsavedValue; let errorParams = {}; switch (type) { case 'json': const isJsonArray = Array.isArray(JSON.parse(defaultValue || '{}')); - newUnsavedValue = newValue || (isJsonArray ? '[]' : '{}'); + newUnsavedValue = inputValue || (isJsonArray ? '[]' : '{}'); try { JSON.parse(newUnsavedValue); @@ -71,22 +68,16 @@ export const CodeEditorInput = ({ } break; default: - newUnsavedValue = newValue; + newUnsavedValue = inputValue; } - // TODO: clintandrewhall - should we make this onBlur instead of onChange? - onChangeProp({ - value: newUnsavedValue, - ...errorParams, - }); + onUpdate({ type: field.type, unsavedValue: inputValue, ...errorParams }); }; - // nit: we have to do this because, while the `UiSettingsService` might return - // `null`, the {@link CodeEditor} component doesn't accept `null` as a value. - // - // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts - // - const value = valueProp === null ? '' : valueProp; + const { id, ariaAttributes } = field; + const { ariaLabel, ariaDescribedBy } = ariaAttributes; + // @ts-expect-error + const [value] = getFieldInputValue(field, unsavedChange); return ( <div> @@ -94,7 +85,7 @@ export const CodeEditorInput = ({ aria-describedby={ariaDescribedBy} aria-label={ariaLabel} data-test-subj={`${TEST_SUBJ_PREFIX_FIELD}-${id}`} - isReadOnly={isDisabled} + isReadOnly={!isSavingEnabled} name={`${TEST_SUBJ_PREFIX_FIELD}-${id}-editor`} {...{ onChange, type, value }} /> diff --git a/packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx index d50b58481a885..0bd73ad51645c 100644 --- a/packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx +++ b/packages/kbn-management/settings/components/field_input/input/color_picker_input.test.tsx @@ -8,28 +8,36 @@ import React from 'react'; import { render, fireEvent } from '@testing-library/react'; -import { ColorPickerInput } from './color_picker_input'; +import { ColorPickerInput, ColorPickerInputProps } from './color_picker_input'; import { wrap } from '../mocks'; const name = 'Some color field'; const id = 'some:color:field'; describe('ColorPickerInput', () => { - const defaultProps = { - id, - name, - ariaLabel: 'Test', - onChange: jest.fn(), - value: '#000000', + const onChange = jest.fn(); + const defaultProps: ColorPickerInputProps = { + onChange, + field: { + name, + type: 'color', + ariaAttributes: { + ariaLabel: name, + }, + id, + isOverridden: false, + defaultValue: '#000000', + }, + isSavingEnabled: true, }; - it('renders without errors', () => { - const { container } = render(wrap(<ColorPickerInput {...defaultProps} />)); - expect(container).toBeInTheDocument(); + beforeEach(() => { + onChange.mockClear(); }); - it('renders the value prop', () => { - const { getByRole } = render(wrap(<ColorPickerInput {...defaultProps} />)); + it('renders without errors', () => { + const { container, getByRole } = render(wrap(<ColorPickerInput {...defaultProps} />)); + expect(container).toBeInTheDocument(); const input = getByRole('textbox'); expect(input).toHaveValue('#000000'); }); @@ -39,11 +47,26 @@ describe('ColorPickerInput', () => { const input = getByRole('textbox'); const newValue = '#ffffff'; fireEvent.change(input, { target: { value: newValue } }); - expect(defaultProps.onChange).toHaveBeenCalledWith({ value: newValue }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ type: 'color', unsavedValue: newValue }); + }); + + it('calls the onChange prop with an error when the value is malformed', () => { + const { getByRole } = render(wrap(<ColorPickerInput {...defaultProps} />)); + const input = getByRole('textbox'); + const newValue = '#1234'; + fireEvent.change(input, { target: { value: newValue } }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ + type: 'color', + unsavedValue: newValue, + isInvalid: true, + error: 'Provide a valid color value', + }); }); it('disables the input when isDisabled prop is true', () => { - const { getByRole } = render(wrap(<ColorPickerInput {...defaultProps} isDisabled />)); + const { getByRole } = render( + wrap(<ColorPickerInput {...defaultProps} isSavingEnabled={false} />) + ); const input = getByRole('textbox'); expect(input).toBeDisabled(); }); diff --git a/packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx b/packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx index b5c5f7d4de616..8533fc0545eab 100644 --- a/packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx +++ b/packages/kbn-management/settings/components/field_input/input/color_picker_input.tsx @@ -10,8 +10,11 @@ import React from 'react'; import { EuiColorPicker, EuiColorPickerProps } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { InputProps } from '../types'; +import { getFieldInputValue, useUpdate } from '@kbn/management-settings-utilities'; +import { UnsavedFieldChange } from '@kbn/management-settings-types'; + import { TEST_SUBJ_PREFIX_FIELD } from '.'; +import { InputProps } from '../types'; /** * Props for a {@link ColorPickerInput} component. @@ -26,31 +29,35 @@ const invalidMessage = i18n.translate('management.settings.fieldInput.color.inva * Component for manipulating a `color` field. */ export const ColorPickerInput = ({ - ariaDescribedBy, - ariaLabel, - id, - isDisabled = false, - isInvalid = false, + field, + unsavedChange, + isSavingEnabled, onChange: onChangeProp, - name, - value: color, }: ColorPickerInputProps) => { + const onUpdate = useUpdate({ onChange: onChangeProp, field }); + const onChange: EuiColorPickerProps['onChange'] = (newColor, { isValid }) => { - if (newColor !== '' && !isValid) { - onChangeProp({ value: newColor, isInvalid: true, error: invalidMessage }); + const update: UnsavedFieldChange<'color'> = { type: field.type, unsavedValue: newColor }; + + if (isValid) { + onUpdate(update); } else { - onChangeProp({ value: newColor }); + onUpdate({ ...update, isInvalid: true, error: invalidMessage }); } }; + const { id, name, ariaAttributes } = field; + const { ariaLabel, ariaDescribedBy } = ariaAttributes; + const [color] = getFieldInputValue(field, unsavedChange); + return ( <EuiColorPicker aria-describedby={ariaDescribedBy} aria-label={ariaLabel} data-test-subj={`${TEST_SUBJ_PREFIX_FIELD}-${id}`} - disabled={isDisabled} + disabled={!isSavingEnabled} format="hex" - isInvalid={isInvalid} + isInvalid={unsavedChange?.isInvalid} {...{ name, color, onChange }} /> ); diff --git a/packages/kbn-management/settings/components/field_input/input/image_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/image_input.test.tsx index 041d0aba44714..cbbec332330d1 100644 --- a/packages/kbn-management/settings/components/field_input/input/image_input.test.tsx +++ b/packages/kbn-management/settings/components/field_input/input/image_input.test.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { render } from '@testing-library/react'; -import { ImageInput } from './image_input'; +import { ImageInput, ImageInputProps } from './image_input'; import { wrap } from '../mocks'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; import { act } from 'react-dom/test-utils'; @@ -18,15 +18,26 @@ const name = 'Some image field'; const id = 'some:image:field'; describe('ImageInput', () => { - const defaultProps = { - id, - name, - ariaLabel: 'Test', - onChange: jest.fn(), - hasChanged: false, - isDefaultValue: false, + const onChange = jest.fn(); + const defaultProps: ImageInputProps = { + onChange, + field: { + name, + type: 'image', + ariaAttributes: { + ariaLabel: name, + }, + id, + isOverridden: false, + defaultValue: null, + }, + isSavingEnabled: true, }; + beforeEach(() => { + onChange.mockClear(); + }); + it('renders without errors', () => { const { container } = render(wrap(<ImageInput {...defaultProps} />)); expect(container).toBeInTheDocument(); @@ -48,7 +59,7 @@ describe('ImageInput', () => { }); it('disables the input when isDisabled prop is true', () => { - const { getByTestId } = render(wrap(<ImageInput {...defaultProps} isDisabled />)); + const { getByTestId } = render(wrap(<ImageInput {...defaultProps} isSavingEnabled={false} />)); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); expect(input).toBeDisabled(); }); diff --git a/packages/kbn-management/settings/components/field_input/input/image_input.tsx b/packages/kbn-management/settings/components/field_input/input/image_input.tsx index b118c538e7b34..286cba2c49d4c 100644 --- a/packages/kbn-management/settings/components/field_input/input/image_input.tsx +++ b/packages/kbn-management/settings/components/field_input/input/image_input.tsx @@ -6,9 +6,12 @@ * Side Public License, v 1. */ -import React from 'react'; +import React, { useImperativeHandle, useRef } from 'react'; import { i18n } from '@kbn/i18n'; -import { EuiFilePicker, EuiImage } from '@elastic/eui'; +import { EuiFilePicker, EuiFilePickerProps, EuiImage } from '@elastic/eui'; + +import { ResetInputRef } from '@kbn/management-settings-types'; +import { getFieldInputValue, useUpdate } from '@kbn/management-settings-utilities'; import type { InputProps } from '../types'; import { useServices } from '../services'; @@ -17,12 +20,7 @@ import { TEST_SUBJ_PREFIX_FIELD } from '.'; /** * Props for a {@link ImageInput} component. */ -export interface ImageInputProps extends InputProps<'image'> { - /** Indicate if the image has changed from the saved setting in the UI. */ - hasChanged: boolean; - /** Indicate if the image value is the default value in Kibana. */ - isDefaultValue: boolean; -} +export type ImageInputProps = InputProps<'image'>; const getImageAsBase64 = async (file: Blob): Promise<string | ArrayBuffer> => { const reader = new FileReader(); @@ -45,26 +43,21 @@ const errorMessage = i18n.translate('management.settings.field.imageChangeErrorM /** * Component for manipulating an `image` field. */ -export const ImageInput = React.forwardRef<EuiFilePicker, ImageInputProps>( - ( - { - ariaDescribedBy, - ariaLabel, - id, - isDisabled, - isDefaultValue, - onChange: onChangeProp, - name, - value, - hasChanged, - }, - ref - ) => { +export const ImageInput = React.forwardRef<ResetInputRef, ImageInputProps>( + ({ field, unsavedChange, isSavingEnabled, onChange: onChangeProp }, ref) => { + const inputRef = useRef<EuiFilePicker>(null); + + useImperativeHandle(ref, () => ({ + reset: () => inputRef.current?.removeFiles(), + })); + const { showDanger } = useServices(); - const onChange = async (files: FileList | null) => { + const onUpdate = useUpdate({ onChange: onChangeProp, field }); + + const onChange: EuiFilePickerProps['onChange'] = async (files: FileList | null) => { if (files === null || !files.length) { - onChangeProp({ value: '' }); + onUpdate(); return null; } @@ -77,13 +70,17 @@ export const ImageInput = React.forwardRef<EuiFilePicker, ImageInputProps>( base64Image = String(await getImageAsBase64(file)); } - onChangeProp({ value: base64Image }); + onUpdate({ type: field.type, unsavedValue: base64Image }); } catch (err) { showDanger(errorMessage); - onChangeProp({ value: '', error: errorMessage }); + onUpdate({ type: field.type, unsavedValue: '', error: errorMessage, isInvalid: true }); } }; + const { id, name, ariaAttributes } = field; + const { ariaLabel, ariaDescribedBy } = ariaAttributes; + const [value] = getFieldInputValue(field, unsavedChange); + const a11yProps = { 'aria-label': ariaLabel, 'aria-describedby': ariaDescribedBy, @@ -91,16 +88,20 @@ export const ImageInput = React.forwardRef<EuiFilePicker, ImageInputProps>( // TODO: this check will be a bug, if a default image is ever actually // defined in Kibana. - if (value && !isDefaultValue && !hasChanged) { + // + // see: https://github.com/elastic/kibana/issues/166578 + // + if (value) { return <EuiImage allowFullScreen url={value} alt={name} {...a11yProps} />; } else { return ( <EuiFilePicker accept=".jpg,.jpeg,.png" data-test-subj={`${TEST_SUBJ_PREFIX_FIELD}-${id}`} - disabled={isDisabled} + disabled={!isSavingEnabled} + ref={inputRef} fullWidth - {...{ onChange, ref, ...a11yProps }} + {...{ onChange, ...a11yProps }} /> ); } diff --git a/packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx index 04108a3259738..2cd34de067ffc 100644 --- a/packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx +++ b/packages/kbn-management/settings/components/field_input/input/json_editor_input.test.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { render, fireEvent, waitFor } from '@testing-library/react'; -import { CodeEditorInput } from './code_editor_input'; +import { CodeEditorInput, CodeEditorInputProps } from './code_editor_input'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; import { CodeEditorProps } from '../code_editor'; @@ -33,17 +33,25 @@ jest.mock('../code_editor', () => ({ })); describe('JsonEditorInput', () => { - const defaultProps = { - id, - name, - ariaLabel: 'Test', - onChange: jest.fn(), - value: initialValue, - type: 'json' as 'json', + const onChange = jest.fn(); + const defaultProps: CodeEditorInputProps = { + onChange, + type: 'json', + field: { + name, + type: 'json', + ariaAttributes: { + ariaLabel: name, + }, + id, + isOverridden: false, + defaultValue: initialValue, + }, + isSavingEnabled: true, }; beforeEach(() => { - defaultProps.onChange.mockClear(); + onChange.mockClear(); }); it('renders without errors', () => { @@ -61,14 +69,17 @@ describe('JsonEditorInput', () => { const { getByTestId } = render(<CodeEditorInput {...defaultProps} />); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); fireEvent.change(input, { target: { value: '{"bar":"foo"}' } }); - expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '{"bar":"foo"}' }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ + type: 'json', + unsavedValue: '{"bar":"foo"}', + }); }); it('calls the onChange prop when the object value changes with no value', () => { const { getByTestId } = render(<CodeEditorInput {...defaultProps} />); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); fireEvent.change(input, { target: { value: '' } }); - expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '{}' }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ type: 'json', unsavedValue: '' }); }); it('calls the onChange prop with an error when the object value changes to invalid JSON', () => { @@ -76,7 +87,8 @@ describe('JsonEditorInput', () => { const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); fireEvent.change(input, { target: { value: '{"bar" "foo"}' } }); expect(defaultProps.onChange).toHaveBeenCalledWith({ - value: '{"bar" "foo"}', + type: 'json', + unsavedValue: '{"bar" "foo"}', error: 'Invalid JSON syntax', isInvalid: true, }); @@ -88,7 +100,10 @@ describe('JsonEditorInput', () => { const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); fireEvent.change(input, { target: { value: '["foo", "bar", "baz"]' } }); waitFor(() => - expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '["foo", "bar", "baz"]' }) + expect(defaultProps.onChange).toHaveBeenCalledWith({ + type: 'json', + unsavedValue: '["foo", "bar", "baz"]', + }) ); }); @@ -101,7 +116,7 @@ describe('JsonEditorInput', () => { const { getByTestId } = render(<CodeEditorInput {...props} />); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); fireEvent.change(input, { target: { value: '' } }); - expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '[]' }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ type: 'json', unsavedValue: '' }); }); it('calls the onChange prop with an array when the array value changes to invalid JSON', () => { @@ -110,7 +125,8 @@ describe('JsonEditorInput', () => { const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); fireEvent.change(input, { target: { value: '["bar", "foo" | "baz"]' } }); expect(defaultProps.onChange).toHaveBeenCalledWith({ - value: '["bar", "foo" | "baz"]', + type: 'json', + unsavedValue: '["bar", "foo" | "baz"]', error: 'Invalid JSON syntax', isInvalid: true, }); diff --git a/packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx index 4df09c3e5df71..dd15b250cf1e0 100644 --- a/packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx +++ b/packages/kbn-management/settings/components/field_input/input/markdown_editor_input.test.tsx @@ -9,18 +9,18 @@ import React from 'react'; import { render, fireEvent } from '@testing-library/react'; -import { CodeEditorInput } from './code_editor_input'; +import { CodeEditorInput, CodeEditorInputProps } from './code_editor_input'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; import { CodeEditorProps } from '../code_editor'; -const name = 'Some json field'; -const id = 'some:json:field'; +const name = 'Some markdown field'; +const id = 'some:markdown:field'; const initialValue = '# A Markdown Title'; jest.mock('../code_editor', () => ({ CodeEditor: ({ value, onChange }: CodeEditorProps) => ( <input - data-test-subj="management-settings-editField-some:json:field" + data-test-subj="management-settings-editField-some:markdown:field" type="text" value={String(value)} onChange={(e) => { @@ -32,16 +32,28 @@ jest.mock('../code_editor', () => ({ ), })); -describe('JsonEditorInput', () => { - const defaultProps = { - id, - name, - ariaLabel: 'Test', - onChange: jest.fn(), - value: initialValue, - type: 'markdown' as 'markdown', +describe('MarkdownEditorInput', () => { + const onChange = jest.fn(); + const defaultProps: CodeEditorInputProps = { + onChange, + type: 'markdown', + field: { + name, + type: 'markdown', + ariaAttributes: { + ariaLabel: name, + }, + id, + isOverridden: false, + defaultValue: initialValue, + }, + isSavingEnabled: true, }; + beforeEach(() => { + onChange.mockClear(); + }); + it('renders without errors', () => { const { container } = render(<CodeEditorInput {...defaultProps} />); expect(container).toBeInTheDocument(); @@ -57,6 +69,9 @@ describe('JsonEditorInput', () => { const { getByTestId } = render(<CodeEditorInput {...defaultProps} />); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); fireEvent.change(input, { target: { value: '# New Markdown Title' } }); - expect(defaultProps.onChange).toHaveBeenCalledWith({ value: '# New Markdown Title' }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ + type: 'markdown', + unsavedValue: '# New Markdown Title', + }); }); }); diff --git a/packages/kbn-management/settings/components/field_input/input/number_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/number_input.test.tsx index 2df3bbc96254f..3fd6518102a46 100644 --- a/packages/kbn-management/settings/components/field_input/input/number_input.test.tsx +++ b/packages/kbn-management/settings/components/field_input/input/number_input.test.tsx @@ -8,7 +8,7 @@ import React from 'react'; import { render, fireEvent, waitFor } from '@testing-library/react'; -import { NumberInput } from './number_input'; +import { NumberInput, NumberInputProps } from './number_input'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; import { wrap } from '../mocks'; @@ -16,40 +16,72 @@ const name = 'Some number field'; const id = 'some:number:field'; describe('NumberInput', () => { - const defaultProps = { - id, - name, - ariaLabel: 'Test', - onChange: jest.fn(), - value: 12345, + const onChange = jest.fn(); + const defaultProps: NumberInputProps = { + onChange, + field: { + name, + type: 'number', + ariaAttributes: { + ariaLabel: name, + }, + id, + isOverridden: false, + defaultValue: 12345, + }, + isSavingEnabled: true, }; + beforeEach(() => { + onChange.mockClear(); + }); + it('renders without errors', () => { - const { container } = render(wrap(<NumberInput {...defaultProps} />)); + const { container, getByTestId } = render(wrap(<NumberInput {...defaultProps} />)); expect(container).toBeInTheDocument(); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue(defaultProps.field.defaultValue); }); - it('renders the value prop', () => { - const { getByTestId } = render(wrap(<NumberInput {...defaultProps} />)); + it('renders the saved value if present', () => { + const { getByTestId } = render( + wrap(<NumberInput {...defaultProps} field={{ ...defaultProps.field, savedValue: 9876 }} />) + ); + const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); + expect(input).toHaveValue(9876); + }); + + it('renders the unsaved value if present', () => { + const { getByTestId } = render( + wrap( + <NumberInput + {...defaultProps} + field={{ ...defaultProps.field, savedValue: 9876 }} + unsavedChange={{ type: 'number', unsavedValue: 4321 }} + /> + ) + ); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); - expect(input).toHaveValue(defaultProps.value); + expect(input).toHaveValue(4321); }); it('calls the onChange prop when the value changes', () => { const { getByTestId } = render(wrap(<NumberInput {...defaultProps} />)); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); fireEvent.change(input, { target: { value: '54321' } }); - expect(defaultProps.onChange).toHaveBeenCalledWith({ value: 54321 }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ type: 'number', unsavedValue: 54321 }); }); it('disables the input when isDisabled prop is true', () => { - const { getByTestId } = render(wrap(<NumberInput {...defaultProps} isDisabled />)); + const { getByTestId } = render(wrap(<NumberInput {...defaultProps} isSavingEnabled={false} />)); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); expect(input).toBeDisabled(); }); it('recovers if value is null', () => { - const { getByTestId } = render(wrap(<NumberInput {...defaultProps} value={null} />)); + const { getByTestId } = render( + wrap(<NumberInput {...defaultProps} field={{ ...defaultProps.field, defaultValue: null }} />) + ); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); waitFor(() => expect(input).toHaveValue(undefined)); }); diff --git a/packages/kbn-management/settings/components/field_input/input/number_input.tsx b/packages/kbn-management/settings/components/field_input/input/number_input.tsx index 8d4862fa5e52e..f67e27be505e2 100644 --- a/packages/kbn-management/settings/components/field_input/input/number_input.tsx +++ b/packages/kbn-management/settings/components/field_input/input/number_input.tsx @@ -7,7 +7,10 @@ */ import React from 'react'; -import { EuiFieldNumber } from '@elastic/eui'; +import { EuiFieldNumber, EuiFieldNumberProps } from '@elastic/eui'; + +import { getFieldInputValue, useUpdate } from '@kbn/management-settings-utilities'; + import { InputProps } from '../types'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; @@ -20,24 +23,23 @@ export type NumberInputProps = InputProps<'number'>; * Component for manipulating a `number` field. */ export const NumberInput = ({ - ariaDescribedBy, - ariaLabel, - id, - isDisabled: disabled = false, - name, + field, + unsavedChange, + isSavingEnabled, onChange: onChangeProp, - value: valueProp, }: NumberInputProps) => { - const onChange = (event: React.ChangeEvent<HTMLInputElement>) => - onChangeProp({ value: Number(event.target.value) }); + const onChange: EuiFieldNumberProps['onChange'] = (event) => { + const inputValue = Number(event.target.value); + onUpdate({ type: field.type, unsavedValue: inputValue }); + }; + + const onUpdate = useUpdate({ onChange: onChangeProp, field }); + + const { id, name, ariaAttributes } = field; + const { ariaLabel, ariaDescribedBy } = ariaAttributes; + const [rawValue] = getFieldInputValue(field, unsavedChange); - // nit: we have to do this because, while the `UiSettingsService` might return - // `null`, the {@link EuiFieldNumber} component doesn't accept `null` as a - // value. - // - // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts - // - const value = valueProp === null ? undefined : valueProp; + const value = rawValue === null ? undefined : rawValue; return ( <EuiFieldNumber @@ -45,7 +47,8 @@ export const NumberInput = ({ aria-label={ariaLabel} data-test-subj={`${TEST_SUBJ_PREFIX_FIELD}-${id}`} fullWidth - {...{ disabled, name, value, onChange }} + disabled={!isSavingEnabled} + {...{ name, value, onChange }} /> ); }; diff --git a/packages/kbn-management/settings/components/field_input/input/select_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/select_input.test.tsx index fe6fa934ab5bb..ca2e875a65604 100644 --- a/packages/kbn-management/settings/components/field_input/input/select_input.test.tsx +++ b/packages/kbn-management/settings/components/field_input/input/select_input.test.tsx @@ -16,27 +16,35 @@ const name = 'Some select field'; const id = 'some:select:field'; describe('SelectInput', () => { - const defaultProps = { - id, - name, - ariaLabel: 'Test', - onChange: jest.fn(), + const onChange = jest.fn(); + const defaultProps: SelectInputProps = { + onChange, + field: { + name, + type: 'select', + ariaAttributes: { + ariaLabel: name, + }, + id, + isOverridden: false, + defaultValue: 'option2', + }, optionLabels: { option1: 'Option 1', option2: 'Option 2', option3: 'Option 3', }, optionValues: ['option1', 'option2', 'option3'], - value: 'option2', + isSavingEnabled: true, }; - it('renders without errors', () => { - const { container } = render(wrap(<SelectInput {...defaultProps} />)); - expect(container).toBeInTheDocument(); + beforeEach(() => { + onChange.mockClear(); }); - it('renders the value prop', () => { - const { getByTestId } = render(wrap(<SelectInput {...defaultProps} />)); + it('renders without errors', () => { + const { container, getByTestId } = render(wrap(<SelectInput {...defaultProps} />)); + expect(container).toBeInTheDocument(); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); expect(input).toHaveValue('option2'); }); @@ -45,11 +53,11 @@ describe('SelectInput', () => { const { getByTestId } = render(wrap(<SelectInput {...defaultProps} />)); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); fireEvent.change(input, { target: { value: 'option3' } }); - expect(defaultProps.onChange).toHaveBeenCalledWith({ value: 'option3' }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ type: 'select', unsavedValue: 'option3' }); }); it('disables the input when isDisabled prop is true', () => { - const { getByTestId } = render(wrap(<SelectInput {...defaultProps} isDisabled />)); + const { getByTestId } = render(wrap(<SelectInput {...defaultProps} isSavingEnabled={false} />)); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); expect(input).toBeDisabled(); }); diff --git a/packages/kbn-management/settings/components/field_input/input/select_input.tsx b/packages/kbn-management/settings/components/field_input/input/select_input.tsx index 4ca8fdf21532d..bd53fb9913ec5 100644 --- a/packages/kbn-management/settings/components/field_input/input/select_input.tsx +++ b/packages/kbn-management/settings/components/field_input/input/select_input.tsx @@ -7,7 +7,10 @@ */ import React, { useMemo } from 'react'; -import { EuiSelect } from '@elastic/eui'; +import { EuiSelect, EuiSelectProps } from '@elastic/eui'; + +import { getFieldInputValue, useUpdate } from '@kbn/management-settings-utilities'; + import { InputProps } from '../types'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; @@ -25,14 +28,12 @@ export interface SelectInputProps extends InputProps<'select'> { * Component for manipulating a `select` field. */ export const SelectInput = ({ - ariaDescribedBy, - ariaLabel, - id, - isDisabled = false, + field, + unsavedChange, onChange: onChangeProp, optionLabels = {}, optionValues: optionsProp, - value: valueProp, + isSavingEnabled, }: SelectInputProps) => { if (optionsProp.length === 0) { throw new Error('non-empty `optionValues` are required for `SelectInput`.'); @@ -47,23 +48,23 @@ export const SelectInput = ({ [optionsProp, optionLabels] ); - const onChange = (event: React.ChangeEvent<HTMLSelectElement>) => { - onChangeProp({ value: event.target.value }); + const onChange: EuiSelectProps['onChange'] = (event) => { + const inputValue = event.target.value; + onUpdate({ type: field.type, unsavedValue: inputValue }); }; - // nit: we have to do this because, while the `UiSettingsService` might return - // `null`, the {@link EuiSelect} component doesn't accept `null` as a value. - // - // @see packages/core/ui-settings/core-ui-settings-common/src/ui_settings.ts - // - const value = valueProp === null ? undefined : valueProp; + const onUpdate = useUpdate({ onChange: onChangeProp, field }); + + const { id, ariaAttributes } = field; + const { ariaLabel, ariaDescribedBy } = ariaAttributes; + const [value] = getFieldInputValue(field, unsavedChange); return ( <EuiSelect aria-describedby={ariaDescribedBy} aria-label={ariaLabel} data-test-subj={`${TEST_SUBJ_PREFIX_FIELD}-${id}`} - disabled={isDisabled} + disabled={!isSavingEnabled} fullWidth {...{ onChange, options, value }} /> diff --git a/packages/kbn-management/settings/components/field_input/input/text_input.test.tsx b/packages/kbn-management/settings/components/field_input/input/text_input.test.tsx index d4dee9f32cdf6..9dcdb8a04d5ea 100644 --- a/packages/kbn-management/settings/components/field_input/input/text_input.test.tsx +++ b/packages/kbn-management/settings/components/field_input/input/text_input.test.tsx @@ -9,21 +9,33 @@ import React from 'react'; import { render, fireEvent } from '@testing-library/react'; -import { TextInput } from './text_input'; +import { TextInput, TextInputProps } from './text_input'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; const name = 'Some text field'; const id = 'some:text:field'; describe('TextInput', () => { - const defaultProps = { - id, - name, - ariaLabel: 'Test', - onChange: jest.fn(), - value: 'initial value', + const onChange = jest.fn(); + const defaultProps: TextInputProps = { + onChange, + field: { + name, + type: 'string', + ariaAttributes: { + ariaLabel: name, + }, + id, + isOverridden: false, + defaultValue: 'initial value', + }, + isSavingEnabled: true, }; + beforeEach(() => { + onChange.mockClear(); + }); + it('renders without errors', () => { const { container } = render(<TextInput {...defaultProps} />); expect(container).toBeInTheDocument(); @@ -39,11 +51,14 @@ describe('TextInput', () => { const { getByTestId } = render(<TextInput {...defaultProps} />); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); fireEvent.change(input, { target: { value: 'new value' } }); - expect(defaultProps.onChange).toHaveBeenCalledWith({ value: 'new value' }); + expect(defaultProps.onChange).toHaveBeenCalledWith({ + type: 'string', + unsavedValue: 'new value', + }); }); it('disables the input when isDisabled prop is true', () => { - const { getByTestId } = render(<TextInput {...defaultProps} isDisabled />); + const { getByTestId } = render(<TextInput {...defaultProps} isSavingEnabled={false} />); const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${id}`); expect(input).toBeDisabled(); }); diff --git a/packages/kbn-management/settings/components/field_input/input/text_input.tsx b/packages/kbn-management/settings/components/field_input/input/text_input.tsx index aa1dc913eeeea..f4f9450e9577f 100644 --- a/packages/kbn-management/settings/components/field_input/input/text_input.tsx +++ b/packages/kbn-management/settings/components/field_input/input/text_input.tsx @@ -7,7 +7,9 @@ */ import React from 'react'; -import { EuiFieldText } from '@elastic/eui'; +import { EuiFieldText, EuiFieldTextProps } from '@elastic/eui'; + +import { getFieldInputValue, useUpdate } from '@kbn/management-settings-utilities'; import { InputProps } from '../types'; import { TEST_SUBJ_PREFIX_FIELD } from '.'; @@ -21,23 +23,27 @@ export type TextInputProps = InputProps<'string'>; * Component for manipulating a `string` field. */ export const TextInput = ({ - name, + field, + unsavedChange, + isSavingEnabled, onChange: onChangeProp, - ariaLabel, - id, - isDisabled = false, - value: valueProp, - ariaDescribedBy, }: TextInputProps) => { - const value = valueProp || ''; - const onChange = (event: React.ChangeEvent<HTMLInputElement>) => - onChangeProp({ value: event.target.value }); + const onChange: EuiFieldTextProps['onChange'] = (event) => { + const inputValue = event.target.value; + onUpdate({ type: field.type, unsavedValue: inputValue }); + }; + + const onUpdate = useUpdate({ onChange: onChangeProp, field }); + + const { id, name, ariaAttributes } = field; + const { ariaLabel, ariaDescribedBy } = ariaAttributes; + const [value] = getFieldInputValue(field, unsavedChange); return ( <EuiFieldText fullWidth data-test-subj={`${TEST_SUBJ_PREFIX_FIELD}-${id}`} - disabled={isDisabled} + disabled={!isSavingEnabled} aria-label={ariaLabel} aria-describedby={ariaDescribedBy} {...{ name, onChange, value }} diff --git a/packages/kbn-management/settings/components/field_input/kibana.jsonc b/packages/kbn-management/settings/components/field_input/kibana.jsonc index 625ab3cc564b9..afd721741627b 100644 --- a/packages/kbn-management/settings/components/field_input/kibana.jsonc +++ b/packages/kbn-management/settings/components/field_input/kibana.jsonc @@ -1,5 +1,5 @@ { "type": "shared-common", "id": "@kbn/management-settings-components-field-input", - "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" -} + "owner": "@elastic/platform-deployment-management" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_input/types.ts b/packages/kbn-management/settings/components/field_input/types.ts index 73e676785e6b9..e5d5c11e2f199 100644 --- a/packages/kbn-management/settings/components/field_input/types.ts +++ b/packages/kbn-management/settings/components/field_input/types.ts @@ -6,9 +6,13 @@ * Side Public License, v 1. */ -import { SettingType } from '@kbn/management-settings-types'; +import { + FieldDefinition, + OnChangeFn, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; import { ToastsStart } from '@kbn/core-notifications-browser'; -import { KnownTypeToValue } from '@kbn/management-settings-types'; /** * Contextual services used by a {@link FieldInput} component. @@ -33,32 +37,13 @@ export interface FieldInputKibanaDependencies { /** * Props passed to a {@link FieldInput} component. */ -export interface InputProps<T extends SettingType, V = KnownTypeToValue<T> | null> { - id: string; - ariaDescribedBy?: string; - ariaLabel: string; - isDisabled?: boolean; - isInvalid?: boolean; - value?: V; - name: string; +export interface InputProps<T extends SettingType> { + field: Pick< + FieldDefinition<T>, + 'ariaAttributes' | 'defaultValue' | 'id' | 'name' | 'savedValue' | 'type' | 'isOverridden' + >; + unsavedChange?: UnsavedFieldChange<T>; + isSavingEnabled: boolean; /** The `onChange` handler. */ onChange: OnChangeFn<T>; } - -/** - * Parameters for the {@link OnChangeFn} handler. - */ -export interface OnChangeParams<T extends SettingType> { - /** The value provided to the handler. */ - value?: KnownTypeToValue<T> | null; - /** An error message, if one occurred. */ - error?: string; - /** True if the format of a change is not valid, false otherwise. */ - isInvalid?: boolean; -} - -/** - * A function that is called when the value of a {@link FieldInput} changes. - * @param params The {@link OnChangeParams} parameters passed to the handler. - */ -export type OnChangeFn<T extends SettingType> = (params: OnChangeParams<T>) => void; diff --git a/packages/kbn-management/settings/components/field_row/__stories__/common.tsx b/packages/kbn-management/settings/components/field_row/__stories__/common.tsx index a18592ca867b2..58e145146cc40 100644 --- a/packages/kbn-management/settings/components/field_row/__stories__/common.tsx +++ b/packages/kbn-management/settings/components/field_row/__stories__/common.tsx @@ -6,21 +6,18 @@ * Side Public License, v 1. */ -import React from 'react'; +import React, { useState } from 'react'; import type { ComponentMeta } from '@storybook/react'; import { action } from '@storybook/addon-actions'; import { EuiPanel } from '@elastic/eui'; -import { SettingType } from '@kbn/management-settings-types'; +import { SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; import { KnownTypeToMetadata, UiSettingMetadata } from '@kbn/management-settings-types/metadata'; -import { - useFieldDefinition, - getDefaultValue, - getUserValue, -} from '@kbn/management-settings-field-definition/storybook'; +import { getDefaultValue, getUserValue } from '@kbn/management-settings-utilities/storybook'; +import { getFieldDefinition } from '@kbn/management-settings-field-definition'; import { FieldRow as Component, FieldRow } from '../field_row'; import { FieldRowProvider } from '../services'; -import { OnChangeFn } from '../types'; +import { RowOnChangeFn } from '../types'; /** * Props for a {@link FieldInput} Storybook story. @@ -108,7 +105,7 @@ export const storyArgs = { */ export const getFieldRowStory = ( type: SettingType, - settingFields: Partial<UiSettingMetadata<SettingType>> + settingFields?: Partial<UiSettingMetadata<SettingType>> ) => { const Story = ({ isCustom, @@ -118,33 +115,61 @@ export const getFieldRowStory = ( userValue, value, }: StoryProps<typeof type>) => { + const [unsavedChange, setUnsavedChange] = useState< + UnsavedFieldChange<typeof type> | undefined + >(); + const setting: UiSettingMetadata<typeof type> = { type, value, - userValue, + userValue: userValue === '' ? null : userValue, name: `Some ${type} setting`, + deprecation: isDeprecated + ? { message: 'This setting is deprecated', docLinksKey: 'storybook' } + : undefined, + category: ['categoryOne', 'categoryTwo'], + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu odio velit. Integer et mauris quis ligula elementum commodo. Morbi eu ipsum diam. Nulla auctor orci eget egestas vehicula. Aliquam gravida, dolor eu posuere vulputate, neque enim viverra odio, id viverra ipsum quam et ipsum.', + requiresPageReload: false, ...settingFields, }; - const [field, unsavedChange, onChangeFn] = useFieldDefinition(setting, { - isCustom, - isDeprecated, - isOverridden, + const field = getFieldDefinition({ + id: setting.name?.split(' ').join(':').toLowerCase() || setting.type, + setting, + params: { + isCustom, + isOverridden, + }, }); - const onChange: OnChangeFn<typeof type> = (_key, change) => { - const { error, isInvalid, unsavedValue } = change; - onChangeFn({ error: error === null ? undefined : error, isInvalid, value: unsavedValue }); + const onChange: RowOnChangeFn<typeof type> = (_id, newChange) => { + setUnsavedChange(newChange); + + action('onChange')({ + type, + unsavedValue: newChange?.unsavedValue, + savedValue: field.savedValue, + }); }; return <FieldRow {...{ field, unsavedChange, isSavingEnabled, onChange }} />; }; - Story.args = { - userValue: getUserValue(type), - value: getDefaultValue(type), - ...storyArgs, - }; + // In Kibana, the image default value is never anything other than null. There would be a number + // of issues if it was anything but, so, in Storybook, we want to remove the default value argument. + if (type === 'image') { + Story.args = { + userValue: getUserValue(type), + ...storyArgs, + }; + } else { + Story.args = { + userValue: getUserValue(type), + value: getDefaultValue(type), + ...storyArgs, + }; + } return Story; }; diff --git a/packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx b/packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx index 299297f341282..531a708afc635 100644 --- a/packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx +++ b/packages/kbn-management/settings/components/field_row/__stories__/select_field.stories.tsx @@ -9,7 +9,7 @@ import { getFieldRowStory, getStory } from './common'; const argTypes = { - value: { + userValue: { name: 'Current saved value', control: { type: 'select', diff --git a/packages/kbn-management/settings/components/field_row/description/default_value.test.tsx b/packages/kbn-management/settings/components/field_row/description/default_value.test.tsx index 49bb85fb3cdcd..3071a4cd9ca0b 100644 --- a/packages/kbn-management/settings/components/field_row/description/default_value.test.tsx +++ b/packages/kbn-management/settings/components/field_row/description/default_value.test.tsx @@ -46,6 +46,28 @@ describe('FieldDefaultValue', () => { expect(container).toBeEmptyDOMElement(); }); + it('renders nothing if an unsaved change matches the default value', () => { + const { container } = render( + wrap( + <FieldDefaultValue + field={{ + id: 'test', + type: 'string', + isDefaultValue: false, + defaultValueDisplay: 'null', + defaultValue: 'test', + }} + unsavedChange={{ + type: 'string', + unsavedValue: 'test', + }} + /> + ) + ); + + expect(container).toBeEmptyDOMElement(); + }); + it('does not render a code block for string fields', () => { const { queryByTestId, getByText } = render( wrap( diff --git a/packages/kbn-management/settings/components/field_row/description/default_value.tsx b/packages/kbn-management/settings/components/field_row/description/default_value.tsx index 75fb9c4c7bdc4..535dbbdba8028 100644 --- a/packages/kbn-management/settings/components/field_row/description/default_value.tsx +++ b/packages/kbn-management/settings/components/field_row/description/default_value.tsx @@ -14,7 +14,7 @@ import { isJsonFieldDefinition, isMarkdownFieldDefinition, } from '@kbn/management-settings-field-definition'; -import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; +import { FieldDefinition, SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; export const DATA_TEST_SUBJ_DEFAULT_DISPLAY_PREFIX = 'default-display-block'; /** @@ -22,18 +22,32 @@ export const DATA_TEST_SUBJ_DEFAULT_DISPLAY_PREFIX = 'default-display-block'; */ export interface FieldDefaultValueProps<T extends SettingType> { /** The {@link FieldDefinition} corresponding the setting. */ - field: Pick<FieldDefinition<T>, 'id' | 'type' | 'isDefaultValue' | 'defaultValueDisplay'>; + field: Pick< + FieldDefinition<T>, + 'id' | 'type' | 'isDefaultValue' | 'defaultValueDisplay' | 'defaultValue' + >; + unsavedChange?: UnsavedFieldChange<T>; } /** * Component for displaying the default value of a {@link FieldDefinition} * in the {@link FieldRow}. */ -export const FieldDefaultValue = <T extends SettingType>({ field }: FieldDefaultValueProps<T>) => { +export const FieldDefaultValue = <T extends SettingType>({ + field, + unsavedChange, +}: FieldDefaultValueProps<T>) => { if (field.isDefaultValue) { return null; } + if ( + unsavedChange && + (unsavedChange.unsavedValue === field.defaultValue || unsavedChange.unsavedValue === undefined) + ) { + return null; + } + const { defaultValueDisplay: display, id } = field; let value = <EuiCode>{display}</EuiCode>; diff --git a/packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx b/packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx index 73e70df48e48f..47b43ec7b085a 100644 --- a/packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx +++ b/packages/kbn-management/settings/components/field_row/description/deprecation.test.tsx @@ -14,6 +14,7 @@ import { wrap } from '../mocks'; describe('FieldDeprecation', () => { const defaultProps = { field: { + id: 'test:field', name: 'test', type: 'string', deprecation: undefined, diff --git a/packages/kbn-management/settings/components/field_row/description/deprecation.tsx b/packages/kbn-management/settings/components/field_row/description/deprecation.tsx index 664f9e3e96047..76f8895df6603 100644 --- a/packages/kbn-management/settings/components/field_row/description/deprecation.tsx +++ b/packages/kbn-management/settings/components/field_row/description/deprecation.tsx @@ -5,13 +5,6 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ -/* - * 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 React from 'react'; import { EuiBadge, EuiToolTip } from '@elastic/eui'; diff --git a/packages/kbn-management/settings/components/field_row/description/description.test.tsx b/packages/kbn-management/settings/components/field_row/description/description.test.tsx index 859a530f3ccdd..92f66d797eb31 100644 --- a/packages/kbn-management/settings/components/field_row/description/description.test.tsx +++ b/packages/kbn-management/settings/components/field_row/description/description.test.tsx @@ -36,6 +36,19 @@ describe('FieldDescription', () => { expect(getByText(description)).toBeInTheDocument(); }); + it('renders a React Element', () => { + const value = 'This is a description.'; + const element = <div>{value}</div>; + const { getByText } = render( + wrap( + <FieldDescription + {...{ ...defaultProps, field: { ...defaultProps.field, description: element } }} + /> + ) + ); + expect(getByText(value)).toBeInTheDocument(); + }); + it('renders no description without one', () => { const { queryByText } = render(wrap(<FieldDescription {...defaultProps} />)); expect(queryByText(description)).toBeNull(); diff --git a/packages/kbn-management/settings/components/field_row/description/description.tsx b/packages/kbn-management/settings/components/field_row/description/description.tsx index 86529f366a321..757cb22ba799c 100644 --- a/packages/kbn-management/settings/components/field_row/description/description.tsx +++ b/packages/kbn-management/settings/components/field_row/description/description.tsx @@ -75,7 +75,7 @@ export const FieldDescription = <T extends SettingType>({ <div css={cssDescription}> <FieldDeprecation {...{ field }} /> {content} - <FieldDefaultValue {...{ field }} /> + <FieldDefaultValue {...{ field, unsavedChange }} /> </div> ); }; diff --git a/packages/kbn-management/settings/components/field_row/field_row.test.tsx b/packages/kbn-management/settings/components/field_row/field_row.test.tsx index 481cb43b6fcf9..afa425d2a459a 100644 --- a/packages/kbn-management/settings/components/field_row/field_row.test.tsx +++ b/packages/kbn-management/settings/components/field_row/field_row.test.tsx @@ -17,8 +17,8 @@ import { DATA_TEST_SUBJ_SCREEN_READER_MESSAGE, FieldRow } from './field_row'; import { wrap } from './mocks'; import { TEST_SUBJ_PREFIX_FIELD } from '@kbn/management-settings-components-field-input/input'; -import { DATA_TEST_SUBJ_OVERRIDDEN_PREFIX } from './input_footer/overridden_message'; -import { DATA_TEST_SUBJ_RESET_PREFIX } from './input_footer/reset_link'; +import { DATA_TEST_SUBJ_RESET_PREFIX } from './footer/reset_link'; +import { DATA_TEST_SUBJ_CHANGE_LINK_PREFIX } from './footer/change_image_link'; const defaults = { requiresPageReload: false, @@ -87,7 +87,7 @@ const settings: Omit<Settings, 'markdown' | 'json'> = { description: 'Description for Array test setting', name: 'array:test:setting', type: 'array', - userValue: undefined, + userValue: null, value: defaultValues.array, ...defaults, }, @@ -95,7 +95,7 @@ const settings: Omit<Settings, 'markdown' | 'json'> = { description: 'Description for Boolean test setting', name: 'boolean:test:setting', type: 'boolean', - userValue: undefined, + userValue: null, value: defaultValues.boolean, ...defaults, }, @@ -103,7 +103,7 @@ const settings: Omit<Settings, 'markdown' | 'json'> = { description: 'Description for Color test setting', name: 'color:test:setting', type: 'color', - userValue: undefined, + userValue: null, value: defaultValues.color, ...defaults, }, @@ -111,7 +111,7 @@ const settings: Omit<Settings, 'markdown' | 'json'> = { description: 'Description for Image test setting', name: 'image:test:setting', type: 'image', - userValue: undefined, + userValue: null, value: defaultValues.image, ...defaults, }, @@ -132,7 +132,7 @@ const settings: Omit<Settings, 'markdown' | 'json'> = { // name: 'markdown:test:setting', // description: 'Description for Markdown test setting', // type: 'markdown', - // userValue: undefined, + // userValue: null, // value: '', // ...defaults, // }, @@ -140,7 +140,7 @@ const settings: Omit<Settings, 'markdown' | 'json'> = { description: 'Description for Number test setting', name: 'number:test:setting', type: 'number', - userValue: undefined, + userValue: null, value: defaultValues.number, ...defaults, }, @@ -154,7 +154,7 @@ const settings: Omit<Settings, 'markdown' | 'json'> = { banana: 'Banana', }, type: 'select', - userValue: undefined, + userValue: null, value: defaultValues.select, ...defaults, }, @@ -162,7 +162,7 @@ const settings: Omit<Settings, 'markdown' | 'json'> = { description: 'Description for String test setting', name: 'string:test:setting', type: 'string', - userValue: undefined, + userValue: null, value: defaultValues.string, ...defaults, }, @@ -170,7 +170,7 @@ const settings: Omit<Settings, 'markdown' | 'json'> = { description: 'Description for Undefined test setting', name: 'undefined:test:setting', type: 'undefined', - userValue: undefined, + userValue: null, value: defaultValues.undefined, ...defaults, }, @@ -254,7 +254,7 @@ describe('Field', () => { expect(getByTestId(inputTestSubj)).toBeDisabled(); } - expect(getByTestId(`${DATA_TEST_SUBJ_OVERRIDDEN_PREFIX}-${id}`)).toBeInTheDocument(); + // expect(getByTestId(`${DATA_TEST_SUBJ_OVERRIDDEN_PREFIX}-${id}`)).toBeInTheDocument(); }); it('should render as read only if saving is disabled', () => { @@ -383,6 +383,28 @@ describe('Field', () => { unsavedValue: field.defaultValue, }); }); + + it('should reset when reset link is clicked with an unsaved change', () => { + const field = getFieldDefinition({ + id, + setting, + }); + + const { getByTestId } = render( + wrap( + <FieldRow + field={field} + unsavedChange={{ type, unsavedValue: userValues[type] }} + onChange={handleChange} + isSavingEnabled={true} + /> + ) + ); + + const input = getByTestId(`${DATA_TEST_SUBJ_RESET_PREFIX}-${field.id}`); + fireEvent.click(input); + expect(handleChange).toHaveBeenCalledWith(field.id, undefined); + }); }); }); @@ -442,7 +464,9 @@ describe('Field', () => { expect(getByText('Setting is currently not saved.')).toBeInTheDocument(); const input = getByTestId(`euiColorPickerAnchor ${TEST_SUBJ_PREFIX_FIELD}-${field.id}`); fireEvent.change(input, { target: { value: '#1235' } }); + waitFor(() => expect(input).toHaveValue('#1235')); + waitFor(() => expect(getByTestId(`${DATA_TEST_SUBJ_SCREEN_READER_MESSAGE}-${field.id}`)).toBe( 'Provide a valid color value' @@ -473,9 +497,52 @@ describe('Field', () => { const input = getByTestId(`${TEST_SUBJ_PREFIX_FIELD}-${field.id}`); fireEvent.change(input, { target: { value: field.savedValue } }); - expect(handleChange).toHaveBeenCalledWith(field.id, { - type: 'string', - unsavedValue: undefined, + expect(handleChange).toHaveBeenCalledWith(field.id, undefined); + }); + + it('should clear the current image when Change Image is clicked', () => { + const setting = settings.image; + + const field = getFieldDefinition({ + id: setting.name || setting.type, + setting: { + ...setting, + userValue: userInputValues.image, + }, }); + + const { getByTestId, getByAltText } = render( + wrap(<FieldRow {...{ field }} onChange={handleChange} isSavingEnabled={true} />) + ); + + const link = getByTestId(`${DATA_TEST_SUBJ_CHANGE_LINK_PREFIX}-${field.id}`); + fireEvent.click(link); + waitFor(() => expect(getByAltText(field.id)).not.toBeInTheDocument()); + }); + + it('should clear the unsaved image when Change Image is clicked', () => { + const setting = settings.image; + + const field = getFieldDefinition({ + id: setting.name || setting.type, + setting: { + ...setting, + }, + }); + + const { getByTestId, getByAltText } = render( + wrap( + <FieldRow + {...{ field }} + onChange={handleChange} + unsavedChange={{ type: 'image', unsavedValue: userInputValues.image }} + isSavingEnabled={true} + /> + ) + ); + + const link = getByTestId(`${DATA_TEST_SUBJ_CHANGE_LINK_PREFIX}-${field.id}`); + fireEvent.click(link); + waitFor(() => expect(getByAltText(field.id)).not.toBeInTheDocument()); }); }); diff --git a/packages/kbn-management/settings/components/field_row/field_row.tsx b/packages/kbn-management/settings/components/field_row/field_row.tsx index c7f90af8c90fd..9058511c955d1 100644 --- a/packages/kbn-management/settings/components/field_row/field_row.tsx +++ b/packages/kbn-management/settings/components/field_row/field_row.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React from 'react'; +import React, { useRef } from 'react'; import { EuiScreenReaderOnly, @@ -18,101 +18,112 @@ import { i18n } from '@kbn/i18n'; import type { FieldDefinition, + ResetInputRef, SettingType, UnsavedFieldChange, + OnChangeFn, } from '@kbn/management-settings-types'; import { isImageFieldDefinition } from '@kbn/management-settings-field-definition'; -import { FieldInput, type OnChangeParams } from '@kbn/management-settings-components-field-input'; -import { isUnsavedValue } from '@kbn/management-settings-utilities'; +import { FieldInput } from '@kbn/management-settings-components-field-input'; +import { hasUnsavedChange } from '@kbn/management-settings-utilities'; import { FieldDescription } from './description'; import { FieldTitle } from './title'; -import { FieldInputFooter } from './input_footer'; import { useFieldStyles } from './field_row.styles'; -import { OnChangeFn } from './types'; +import { RowOnChangeFn } from './types'; +import { FieldInputFooter } from './footer'; export const DATA_TEST_SUBJ_SCREEN_READER_MESSAGE = 'fieldRowScreenReaderMessage'; +type Definition<T extends SettingType> = Pick< + FieldDefinition<T>, + | 'ariaAttributes' + | 'defaultValue' + | 'defaultValueDisplay' + | 'displayName' + | 'groupId' + | 'id' + | 'isCustom' + | 'isDefaultValue' + | 'isOverridden' + | 'name' + | 'savedValue' + | 'type' + | 'unsavedFieldId' +>; + /** * Props for a {@link FieldRow} component. */ -export interface FieldRowProps<T extends SettingType> { +export interface FieldRowProps { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Definition<SettingType>; /** True if saving settings is enabled, false otherwise. */ isSavingEnabled: boolean; /** The {@link OnChangeFn} handler. */ - onChange: OnChangeFn<T>; + onChange: RowOnChangeFn<SettingType>; /** * The onClear handler, if a value is cleared to an empty or default state. * @param id The id relating to the field to clear. */ onClear?: (id: string) => void; - /** The {@link FieldDefinition} corresponding the setting. */ - field: FieldDefinition<T>; /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ - unsavedChange?: UnsavedFieldChange<T>; + unsavedChange?: UnsavedFieldChange<SettingType>; } /** * Component for displaying a {@link FieldDefinition} in a form row, using a {@link FieldInput}. * @param props The {@link FieldRowProps} for the {@link FieldRow} component. */ -export const FieldRow = <T extends SettingType>(props: FieldRowProps<T>) => { +export const FieldRow = (props: FieldRowProps) => { const { isSavingEnabled, onChange: onChangeProp, field, unsavedChange } = props; - const { id, name, groupId, isOverridden, type, unsavedFieldId } = field; + const { id, groupId, isOverridden, unsavedFieldId } = field; const { cssFieldFormGroup } = useFieldStyles({ field, unsavedChange, }); - const onChange = (changes: UnsavedFieldChange<T>) => { - onChangeProp(name, changes); - }; + // Create a ref for those input fields that use a `reset` handle. + const ref = useRef<ResetInputRef>(null); - const resetField = () => { - const { defaultValue: unsavedValue } = field; - return onChange({ type, unsavedValue }); + // Route any change to the `onChange` handler, along with the field id. + const onChange: OnChangeFn<SettingType> = (update) => { + onChangeProp(id, update); }; - const onFieldChange = ({ isInvalid, error, value: unsavedValue }: OnChangeParams<T>) => { - if (error) { - isInvalid = true; + const onReset = () => { + ref.current?.reset(); + + const update = { type: field.type, unsavedValue: field.defaultValue }; + + if (hasUnsavedChange(field, update)) { + onChange(update); + } else { + onChange(); } + }; - const change = { - type, - isInvalid, - error, - }; + const onClear = () => { + if (ref.current) { + ref.current.reset(); + } - if (!isUnsavedValue(field, unsavedValue)) { - onChange(change); + // Indicate a field is being cleared for a new value by setting its unchanged + // value to`undefined`. Currently, this only applies to `image` fields. + if (field.savedValue !== undefined && field.savedValue !== null) { + onChange({ type: field.type, unsavedValue: undefined }); } else { - onChange({ - ...change, - unsavedValue, - }); + onChange(); } }; const title = <FieldTitle {...{ field, unsavedChange }} />; - const description = <FieldDescription {...{ field }} />; + const description = <FieldDescription {...{ field, unsavedChange }} />; const error = unsavedChange?.error; const isInvalid = unsavedChange?.isInvalid; let unsavedScreenReaderMessage = null; - const helpText = ( - <FieldInputFooter - {...{ - field, - unsavedChange, - isSavingEnabled, - onCancel: resetField, - onReset: resetField, - onChange: onFieldChange, - }} - /> - ); - + // Provide a screen-reader only message if there's an unsaved change. if (unsavedChange) { unsavedScreenReaderMessage = ( <EuiScreenReaderOnly> @@ -133,23 +144,25 @@ export const FieldRow = <T extends SettingType>(props: FieldRowProps<T>) => { return ( <EuiErrorBoundary> <EuiDescribedFormGroup - id={groupId} - fullWidth css={cssFieldFormGroup} + fullWidth + id={groupId} {...{ title, description }} > <EuiFormRow fullWidth hasChildLabel={!isImageFieldDefinition(field)} label={id} - {...{ isInvalid, error, helpText }} + helpText={ + <FieldInputFooter {...{ field, isSavingEnabled, onClear, onReset, unsavedChange }} /> + } + {...{ isInvalid, error }} > <> <FieldInput - isDisabled={!isSavingEnabled || isOverridden} + isSavingEnabled={isSavingEnabled && !isOverridden} isInvalid={unsavedChange?.isInvalid} - onChange={onFieldChange} - {...{ field, unsavedChange }} + {...{ field, unsavedChange, ref, onChange }} /> {unsavedScreenReaderMessage} </> diff --git a/packages/kbn-management/settings/components/field_row/footer/change_image_link.test.tsx b/packages/kbn-management/settings/components/field_row/footer/change_image_link.test.tsx new file mode 100644 index 0000000000000..201942bc89d44 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/footer/change_image_link.test.tsx @@ -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 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 React from 'react'; +import { render } from '@testing-library/react'; +import { ChangeImageLink, type ChangeImageLinkProps } from './change_image_link'; +import { wrap } from '../mocks'; + +const IMAGE = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAADMElEQVR4nOzVwQnAIBQFQYXff81RUkQCOyDj1YOPnbXWPmeTRef+/3O/OyBjzh3CD95BfqICMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMK0CMO0TAAD//2Anhf4QtqobAAAAAElFTkSuQmCC +`; + +describe('ChangeImageLink', () => { + const defaultProps: ChangeImageLinkProps = { + field: { + name: 'test', + type: 'image', + ariaAttributes: { + ariaLabel: 'test', + }, + isOverridden: false, + savedValue: null, + }, + unsavedChange: undefined, + onClear: jest.fn(), + }; + + it('does not render with no saved value and no unsaved change', () => { + const { container } = render(wrap(<ChangeImageLink {...defaultProps} />)); + expect(container.firstChild).toBeNull(); + }); + + it('renders with a saved value and no unsaved change', () => { + const { container } = render( + wrap( + <ChangeImageLink {...defaultProps} field={{ ...defaultProps.field, savedValue: IMAGE }} /> + ) + ); + expect(container.firstChild).not.toBeNull(); + }); + + it('does not render if there is a saved value and the unsaved value is undefined', () => { + const { container } = render( + wrap( + <ChangeImageLink + {...defaultProps} + field={{ ...defaultProps.field, savedValue: IMAGE }} + unsavedChange={{ type: 'image', unsavedValue: undefined }} + /> + ) + ); + expect(container.firstChild).toBeNull(); + }); + + it('renders when there is an unsaved change', () => { + const { container } = render( + wrap( + <ChangeImageLink + {...defaultProps} + field={{ ...defaultProps.field, savedValue: IMAGE }} + unsavedChange={{ type: 'image', unsavedValue: 'unsaved value' }} + /> + ) + ); + expect(container.firstChild).not.toBeNull(); + }); + + it('renders nothing if the unsaved change value is undefined', () => { + const { container } = render( + wrap( + <ChangeImageLink + {...defaultProps} + unsavedChange={{ type: 'image', unsavedValue: undefined }} + /> + ) + ); + expect(container.firstChild).toBeNull(); + }); + + it('renders an aria-label', () => { + const { getByLabelText } = render( + wrap( + <ChangeImageLink {...defaultProps} field={{ ...defaultProps.field, savedValue: IMAGE }} /> + ) + ); + const link = getByLabelText('Change test'); + expect(link).not.toBeNull(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.tsx b/packages/kbn-management/settings/components/field_row/footer/change_image_link.tsx similarity index 51% rename from packages/kbn-management/settings/components/field_row/input_footer/change_image_link.tsx rename to packages/kbn-management/settings/components/field_row/footer/change_image_link.tsx index c4e6df6b4521b..78fedea1c8644 100644 --- a/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.tsx +++ b/packages/kbn-management/settings/components/field_row/footer/change_image_link.tsx @@ -13,26 +13,22 @@ import { FormattedMessage } from '@kbn/i18n-react'; import { FieldDefinition, SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; import { hasUnsavedChange } from '@kbn/management-settings-utilities'; -import { OnChangeFn } from '@kbn/management-settings-components-field-input'; -import { - isImageFieldDefinition, - isImageFieldUnsavedChange, -} from '@kbn/management-settings-field-definition'; + +export const DATA_TEST_SUBJ_CHANGE_LINK_PREFIX = 'management-settings-change-image'; type Field<T extends SettingType> = Pick< FieldDefinition<T>, - 'name' | 'defaultValue' | 'type' | 'savedValue' | 'savedValue' | 'ariaAttributes' + 'id' | 'type' | 'savedValue' | 'ariaAttributes' | 'isOverridden' >; + /** * Props for a {@link ChangeImageLink} component. */ export interface ChangeImageLinkProps<T extends SettingType = 'image'> { /** The {@link ImageFieldDefinition} corresponding the setting. */ field: Field<T>; - /** The {@link OnChangeFn} event handler. */ - onChange: OnChangeFn<T>; - /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ unsavedChange?: UnsavedFieldChange<T>; + onClear: () => void; } /** @@ -41,46 +37,49 @@ export interface ChangeImageLinkProps<T extends SettingType = 'image'> { */ export const ChangeImageLink = <T extends SettingType>({ field, - onChange, + onClear, unsavedChange, }: ChangeImageLinkProps<T>) => { - if (hasUnsavedChange(field, unsavedChange)) { + if (field.type !== 'image') { return null; } - const { unsavedValue } = unsavedChange || {}; const { - savedValue, ariaAttributes: { ariaLabel }, - name, - defaultValue, + isOverridden, + savedValue, } = field; - if (unsavedValue || !savedValue) { + if ( + // If the field is overridden... + isOverridden || + // ... or if there's a saved value but no unsaved change... + (!savedValue && !hasUnsavedChange(field, unsavedChange)) || + // ... or if there's a saved value and an undefined unsaved value... + (savedValue && !!unsavedChange && unsavedChange.unsavedValue === undefined) + ) { + // ...don't render the link. return null; } - if (isImageFieldDefinition(field) && isImageFieldUnsavedChange(unsavedChange)) { - return ( - <span> - <EuiLink - aria-label={i18n.translate('management.settings.field.changeImageLinkAriaLabel', { - defaultMessage: 'Change {ariaLabel}', - values: { - ariaLabel, - }, - })} - onClick={() => onChange({ value: defaultValue })} - data-test-subj={`management-settings-changeImage-${name}`} - > - <FormattedMessage - id="management.settings.changeImageLinkText" - defaultMessage="Change image" - /> - </EuiLink> - </span> - ); - } - - return null; + // Use the type-guards on the definition and unsaved change. + return ( + <span> + <EuiLink + aria-label={i18n.translate('management.settings.field.changeImageLinkAriaLabel', { + defaultMessage: 'Change {ariaLabel}', + values: { + ariaLabel, + }, + })} + onClick={() => onClear()} + data-test-subj={`${DATA_TEST_SUBJ_CHANGE_LINK_PREFIX}-${field.id}`} + > + <FormattedMessage + id="management.settings.changeImageLinkText" + defaultMessage="Change image" + /> + </EuiLink> + </span> + ); }; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/index.ts b/packages/kbn-management/settings/components/field_row/footer/index.ts similarity index 85% rename from packages/kbn-management/settings/components/field_row/input_footer/index.ts rename to packages/kbn-management/settings/components/field_row/footer/index.ts index d840b892b9bd8..0322c72010380 100644 --- a/packages/kbn-management/settings/components/field_row/input_footer/index.ts +++ b/packages/kbn-management/settings/components/field_row/footer/index.ts @@ -7,3 +7,4 @@ */ export { FieldInputFooter, type FieldInputFooterProps } from './input_footer'; +export { InputResetLink, type FieldResetLinkProps } from './reset_link'; diff --git a/packages/kbn-management/settings/components/field_row/footer/input_footer.styles.ts b/packages/kbn-management/settings/components/field_row/footer/input_footer.styles.ts new file mode 100644 index 0000000000000..81db664b55bf0 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/footer/input_footer.styles.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 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 { useEuiTheme } from '@elastic/eui'; +import { css } from '@emotion/react'; + +/** + * A React hook that provides stateful `css` classes for the {@link FieldRow} component. + */ +export const useInputFooterStyles = () => { + const { + euiTheme: { size }, + } = useEuiTheme(); + + return { + footerCSS: css` + margin-top: ${size.s}; + > * { + margin-right: ${size.s}; + } + `, + }; +}; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/input_footer.tsx b/packages/kbn-management/settings/components/field_row/footer/input_footer.tsx similarity index 77% rename from packages/kbn-management/settings/components/field_row/input_footer/input_footer.tsx rename to packages/kbn-management/settings/components/field_row/footer/input_footer.tsx index 5a2e12f39f6b2..cd931ad3ae55c 100644 --- a/packages/kbn-management/settings/components/field_row/input_footer/input_footer.tsx +++ b/packages/kbn-management/settings/components/field_row/footer/input_footer.tsx @@ -14,11 +14,10 @@ import type { UnsavedFieldChange, } from '@kbn/management-settings-types'; -import { OnChangeFn } from '@kbn/management-settings-components-field-input'; - -import { FieldResetLink } from './reset_link'; +import { InputResetLink } from './reset_link'; import { ChangeImageLink } from './change_image_link'; import { FieldOverriddenMessage } from './overridden_message'; +import { useInputFooterStyles } from './input_footer.styles'; export const DATA_TEST_SUBJ_FOOTER_PREFIX = 'field-row-input-footer'; @@ -35,8 +34,8 @@ export interface FieldInputFooterProps<T extends SettingType> { field: Field<T>; /** The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ unsavedChange?: UnsavedFieldChange<T>; - /** The {@link OnChangeFn} handler. */ - onChange: OnChangeFn<T>; + /** A handler for clearing, rather than resetting the field. */ + onClear: () => void; /** A handler for when a field is reset to its default or saved value. */ onReset: () => void; /** True if saving this setting is enabled, false otherwise. */ @@ -44,20 +43,23 @@ export interface FieldInputFooterProps<T extends SettingType> { } export const FieldInputFooter = <T extends SettingType>({ - isSavingEnabled, field, + isSavingEnabled, + onClear, onReset, - ...props + unsavedChange, }: FieldInputFooterProps<T>) => { + const { footerCSS } = useInputFooterStyles(); + if (field.isOverridden) { return <FieldOverriddenMessage {...{ field }} />; } if (isSavingEnabled) { return ( - <span data-test-subj={`${DATA_TEST_SUBJ_FOOTER_PREFIX}-${field.id}`}> - <FieldResetLink {...{ /* isLoading,*/ field, onReset }} /> - <ChangeImageLink {...{ field, ...props }} /> + <span css={footerCSS} data-test-subj={`${DATA_TEST_SUBJ_FOOTER_PREFIX}-${field.id}`}> + <InputResetLink {...{ field, onReset, unsavedChange }} /> + <ChangeImageLink {...{ field, unsavedChange, onClear }} /> </span> ); } diff --git a/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.test.tsx b/packages/kbn-management/settings/components/field_row/footer/overridden_message.test.tsx similarity index 100% rename from packages/kbn-management/settings/components/field_row/input_footer/overridden_message.test.tsx rename to packages/kbn-management/settings/components/field_row/footer/overridden_message.test.tsx diff --git a/packages/kbn-management/settings/components/field_row/input_footer/overridden_message.tsx b/packages/kbn-management/settings/components/field_row/footer/overridden_message.tsx similarity index 100% rename from packages/kbn-management/settings/components/field_row/input_footer/overridden_message.tsx rename to packages/kbn-management/settings/components/field_row/footer/overridden_message.tsx diff --git a/packages/kbn-management/settings/components/field_row/footer/reset_link.test.tsx b/packages/kbn-management/settings/components/field_row/footer/reset_link.test.tsx new file mode 100644 index 0000000000000..2704e9e33d743 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/footer/reset_link.test.tsx @@ -0,0 +1,82 @@ +/* + * 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 React from 'react'; +import { render, fireEvent } from '@testing-library/react'; + +import { SettingType } from '@kbn/management-settings-types'; + +import { wrap } from '../mocks'; +import { InputResetLink, InputResetLinkProps } from './reset_link'; + +describe('InputResetLink', () => { + const defaultProps: InputResetLinkProps<SettingType> = { + field: { + type: 'string', + id: 'test', + isOverridden: false, + ariaAttributes: { + ariaLabel: 'Test', + }, + defaultValue: 'default', + }, + onReset: jest.fn(), + }; + + it('renders nothing if the field is already at its default value', () => { + const { container } = render(wrap(<InputResetLink {...defaultProps} />)); + expect(container.firstChild).toBeNull(); + }); + + it('renders a link to reset the field if there is a different saved value', () => { + const { getByText } = render( + wrap( + <InputResetLink {...defaultProps} field={{ ...defaultProps.field, savedValue: 'saved' }} /> + ) + ); + const link = getByText('Reset to default'); + expect(link).toBeInTheDocument(); + }); + + it('renders a link to reset the field if there is a different unsaved value', () => { + const { getByText } = render( + wrap( + <InputResetLink + {...defaultProps} + unsavedChange={{ type: 'string', unsavedValue: 'unsaved' }} + /> + ) + ); + const link = getByText('Reset to default'); + expect(link).toBeInTheDocument(); + }); + + it('renders nothing if there is a different saved value but the same unsaved value', () => { + const { container } = render( + wrap( + <InputResetLink + {...defaultProps} + field={{ ...defaultProps.field, savedValue: 'saved' }} + unsavedChange={{ type: 'string', unsavedValue: 'default' }} + /> + ) + ); + expect(container.firstChild).toBeNull(); + }); + + it('calls the onReset prop when the link is clicked', () => { + const { getByText } = render( + wrap( + <InputResetLink {...defaultProps} field={{ ...defaultProps.field, savedValue: 'saved' }} /> + ) + ); + const link = getByText('Reset to default'); + fireEvent.click(link); + expect(defaultProps.onReset).toHaveBeenCalled(); + }); +}); diff --git a/packages/kbn-management/settings/components/field_row/footer/reset_link.tsx b/packages/kbn-management/settings/components/field_row/footer/reset_link.tsx new file mode 100644 index 0000000000000..35a34350e0be8 --- /dev/null +++ b/packages/kbn-management/settings/components/field_row/footer/reset_link.tsx @@ -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 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 React from 'react'; +import { EuiLink } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; + +import type { + FieldDefinition, + SettingType, + UnsavedFieldChange, +} from '@kbn/management-settings-types'; +import { isFieldDefaultValue } from '@kbn/management-settings-utilities'; + +/** + * Props for a {@link InputResetLink} component. + */ +export interface InputResetLinkProps<T extends SettingType> { + /** The {@link FieldDefinition} corresponding the setting. */ + field: Pick< + FieldDefinition<T>, + 'ariaAttributes' | 'id' | 'savedValue' | 'isOverridden' | 'defaultValue' | 'type' + >; + /** A handler for when a field is reset to its default or saved value. */ + onReset: () => void; + /** A change to the current field, if any. */ + unsavedChange?: UnsavedFieldChange<T>; +} + +export const DATA_TEST_SUBJ_RESET_PREFIX = 'management-settings-resetField'; +/** + * Component for rendering a link to reset a {@link FieldDefinition} to its default + * or saved value. + */ +export const InputResetLink = <T extends SettingType>({ + onReset: onClick, + field, + unsavedChange, +}: InputResetLinkProps<T>) => { + if (isFieldDefaultValue(field, unsavedChange) || field.isOverridden) { + return null; + } + + const { + id, + ariaAttributes: { ariaLabel }, + } = field; + + return ( + <EuiLink + aria-label={i18n.translate('management.settings.field.resetToDefaultLinkAriaLabel', { + defaultMessage: 'Reset {ariaLabel} to default', + values: { + ariaLabel, + }, + })} + onClick={onClick} + data-test-subj={`${DATA_TEST_SUBJ_RESET_PREFIX}-${id}`} + > + <FormattedMessage + id="management.settings.resetToDefaultLinkText" + defaultMessage="Reset to default" + /> + </EuiLink> + ); +}; diff --git a/packages/kbn-management/settings/components/field_row/index.ts b/packages/kbn-management/settings/components/field_row/index.ts index f54eadd4467ed..98c64f1cd494d 100644 --- a/packages/kbn-management/settings/components/field_row/index.ts +++ b/packages/kbn-management/settings/components/field_row/index.ts @@ -7,3 +7,11 @@ */ export { FieldRow, type FieldRowProps as FieldProps } from './field_row'; +export { FieldRowProvider, FieldRowKibanaProvider, type FieldRowProviderProps } from './services'; +export type { + FieldRowServices, + FieldRowKibanaDependencies, + RowOnChangeFn, + KibanaDependencies, + Services, +} from './types'; diff --git a/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx b/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx deleted file mode 100644 index 3c01240a9e9ea..0000000000000 --- a/packages/kbn-management/settings/components/field_row/input_footer/change_image_link.test.tsx +++ /dev/null @@ -1,81 +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 React from 'react'; -import { render } from '@testing-library/react'; -import { ChangeImageLink } from './change_image_link'; -import { ImageFieldDefinition } from '@kbn/management-settings-types'; -import { wrap } from '../mocks'; -import { IMAGE } from '@kbn/management-settings-field-definition/storybook'; - -describe('ChangeImageLink', () => { - const defaultProps = { - field: { - name: 'test', - type: 'image', - ariaAttributes: { - ariaLabel: 'test', - }, - } as ImageFieldDefinition, - onChange: jest.fn(), - onCancel: jest.fn(), - onReset: jest.fn(), - unsavedChange: undefined, - }; - - it('does not render no saved value and no unsaved change', () => { - const { container } = render( - wrap(<ChangeImageLink {...defaultProps} field={{ ...defaultProps.field }} />) - ); - expect(container.firstChild).toBeNull(); - }); - - it('renders with a saved value and no unsaved change', () => { - const { container } = render( - wrap( - <ChangeImageLink {...defaultProps} field={{ ...defaultProps.field, savedValue: IMAGE }} /> - ) - ); - expect(container.firstChild).not.toBeNull(); - }); - - it('renders if there is a saved value and the unsaved value is undefined', () => { - const { container } = render( - wrap( - <ChangeImageLink - {...defaultProps} - field={{ ...defaultProps.field, savedValue: IMAGE }} - unsavedChange={{ type: 'image', unsavedValue: undefined }} - /> - ) - ); - expect(container.firstChild).not.toBeNull(); - }); - - it('renders nothing when there is an unsaved change', () => { - const { container } = render( - wrap( - <ChangeImageLink - {...defaultProps} - field={{ ...defaultProps.field, savedValue: IMAGE }} - unsavedChange={{ type: 'image', unsavedValue: 'unsaved value' }} - /> - ) - ); - expect(container.firstChild).toBeNull(); - }); - - it('renders an aria-label', () => { - const { getByLabelText } = render( - wrap( - <ChangeImageLink {...defaultProps} field={{ ...defaultProps.field, savedValue: IMAGE }} /> - ) - ); - const link = getByLabelText('Change test'); - expect(link).not.toBeNull(); - }); -}); diff --git a/packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx b/packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx deleted file mode 100644 index 52cf165ab9b9f..0000000000000 --- a/packages/kbn-management/settings/components/field_row/input_footer/reset_link.test.tsx +++ /dev/null @@ -1,54 +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 React from 'react'; -import { render, fireEvent } from '@testing-library/react'; - -import { FieldDefinition } from '@kbn/management-settings-types'; - -import { wrap } from '../mocks'; -import { FieldResetLink } from './reset_link'; - -describe('FieldResetLink', () => { - const defaultProps = { - field: { - name: 'test', - type: 'string', - isDefaultValue: false, - ariaAttributes: {}, - } as FieldDefinition<'string'>, - onReset: jest.fn(), - }; - - it('renders without errors', () => { - const { container } = render(wrap(<FieldResetLink {...defaultProps} />)); - expect(container).toBeInTheDocument(); - }); - - it('renders nothing if the field is already at its default value', () => { - const { container } = render( - wrap( - <FieldResetLink {...defaultProps} field={{ ...defaultProps.field, isDefaultValue: true }} /> - ) - ); - expect(container.firstChild).toBeNull(); - }); - - it('renders a link to reset the field if it is not at its default value', () => { - const { getByText } = render(wrap(<FieldResetLink {...defaultProps} />)); - const link = getByText('Reset to default'); - expect(link).toBeInTheDocument(); - }); - - it('calls the onReset prop when the link is clicked', () => { - const { getByText } = render(wrap(<FieldResetLink {...defaultProps} />)); - const link = getByText('Reset to default'); - fireEvent.click(link); - expect(defaultProps.onReset).toHaveBeenCalled(); - }); -}); diff --git a/packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx b/packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx deleted file mode 100644 index 2703a4121107d..0000000000000 --- a/packages/kbn-management/settings/components/field_row/input_footer/reset_link.tsx +++ /dev/null @@ -1,64 +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 React from 'react'; -import { EuiLink } from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; -import { FormattedMessage } from '@kbn/i18n-react'; - -import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; - -/** - * Props for a {@link FieldResetLink} component. - */ -export interface FieldResetLinkProps<T extends SettingType> { - /** The {@link FieldDefinition} corresponding the setting. */ - field: Pick<FieldDefinition<T>, 'id' | 'isDefaultValue' | 'ariaAttributes'>; - /** A handler for when a field is reset to its default or saved value. */ - onReset: () => void; -} - -export const DATA_TEST_SUBJ_RESET_PREFIX = 'management-settings-resetField'; -/** - * Component for rendering a link to reset a {@link FieldDefinition} to its default - * or saved value. - */ -export const FieldResetLink = <T extends SettingType>({ - onReset, - field, -}: FieldResetLinkProps<T>) => { - if (field.isDefaultValue) { - return null; - } - - const { - id, - ariaAttributes: { ariaLabel }, - } = field; - - return ( - <span> - <EuiLink - aria-label={i18n.translate('management.settings.field.resetToDefaultLinkAriaLabel', { - defaultMessage: 'Reset {ariaLabel} to default', - values: { - ariaLabel, - }, - })} - onClick={onReset} - data-test-subj={`${DATA_TEST_SUBJ_RESET_PREFIX}-${id}`} - > - <FormattedMessage - id="management.settings.resetToDefaultLinkText" - defaultMessage="Reset to default" - /> - </EuiLink> -     - </span> - ); -}; diff --git a/packages/kbn-management/settings/components/field_row/kibana.jsonc b/packages/kbn-management/settings/components/field_row/kibana.jsonc index ceec221d6a2d2..f931d719df741 100644 --- a/packages/kbn-management/settings/components/field_row/kibana.jsonc +++ b/packages/kbn-management/settings/components/field_row/kibana.jsonc @@ -1,5 +1,5 @@ { "type": "shared-common", "id": "@kbn/management-settings-components-field-row", - "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" -} + "owner": "@elastic/platform-deployment-management" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/components/field_row/services.tsx b/packages/kbn-management/settings/components/field_row/services.tsx index 7d9fab6d87035..e138307979db1 100644 --- a/packages/kbn-management/settings/components/field_row/services.tsx +++ b/packages/kbn-management/settings/components/field_row/services.tsx @@ -17,9 +17,16 @@ import type { FieldRowServices, FieldRowKibanaDependencies, Services } from './t const FieldRowContext = React.createContext<Services | null>(null); /** - * React Provider that provides services to a {@link FieldRow} component and its dependents. + * Props for {@link FieldRowProvider}. */ -export const FieldRowProvider: FC<FieldRowServices> = ({ children, ...services }) => { +export interface FieldRowProviderProps extends FieldRowServices { + children: React.ReactNode; +} + +/** + * React Provider that provides services to a {@link FieldRow} component and its dependents.\ + */ +export const FieldRowProvider = ({ children, ...services }: FieldRowProviderProps) => { // Typescript types are widened to accept more than what is needed. Take only what is necessary // so the context remains clean. const { links, showDanger } = services; diff --git a/packages/kbn-management/settings/components/field_row/title/title.tsx b/packages/kbn-management/settings/components/field_row/title/title.tsx index 36c6042394287..dded57a3d7a87 100644 --- a/packages/kbn-management/settings/components/field_row/title/title.tsx +++ b/packages/kbn-management/settings/components/field_row/title/title.tsx @@ -22,7 +22,10 @@ import { FieldTitleUnsavedIcon } from './icon_unsaved'; */ export interface TitleProps<T extends SettingType> { /** The {@link FieldDefinition} corresponding the setting. */ - field: FieldDefinition<T>; + field: Pick< + FieldDefinition<T>, + 'displayName' | 'savedValue' | 'isCustom' | 'id' | 'type' | 'isOverridden' + >; /** Emotion-based `css` for the root React element. */ css?: Interpolation<Theme>; /** Classname for the root React element. */ diff --git a/packages/kbn-management/settings/components/field_row/types.ts b/packages/kbn-management/settings/components/field_row/types.ts index 9eec1eb234f2c..d353cd91fba49 100644 --- a/packages/kbn-management/settings/components/field_row/types.ts +++ b/packages/kbn-management/settings/components/field_row/types.ts @@ -49,4 +49,7 @@ export type FieldRowKibanaDependencies = KibanaDependencies & FieldInputKibanaDe * @param id A unique id corresponding to the particular setting being changed. * @param change The {@link UnsavedFieldChange} corresponding to any unsaved change to the field. */ -export type OnChangeFn<T extends SettingType> = (id: string, change: UnsavedFieldChange<T>) => void; +export type RowOnChangeFn<T extends SettingType> = ( + id: string, + change?: UnsavedFieldChange<T> +) => void; diff --git a/packages/kbn-management/settings/field_definition/get_definition.ts b/packages/kbn-management/settings/field_definition/get_definition.ts index e6b29e6f437ca..8e7204b137693 100644 --- a/packages/kbn-management/settings/field_definition/get_definition.ts +++ b/packages/kbn-management/settings/field_definition/get_definition.ts @@ -14,11 +14,11 @@ */ import words from 'lodash/words'; -import isEqual from 'lodash/isEqual'; import { Query } from '@elastic/eui'; import { FieldDefinition, SettingType } from '@kbn/management-settings-types'; -import { UiSettingMetadata } from '@kbn/management-settings-types/metadata'; +import { UiSettingMetadata } from '@kbn/management-settings-types'; +import { isSettingDefaultValue } from '@kbn/management-settings-utilities'; /** * The portion of the setting name that defines the category of the setting. @@ -39,6 +39,10 @@ const mapWords = (name?: string): string => * Derive the aria-label for a given setting based on its name and category. */ const getAriaLabel = (name: string = '') => { + if (!name) { + return ''; + } + const query = Query.parse(name); if (query.hasOrFieldClause(CATEGORY_FIELD)) { @@ -121,7 +125,7 @@ export const getFieldDefinition = <T extends SettingType>( const definition: FieldDefinition<T> = { ariaAttributes: { - ariaLabel: getAriaLabel(name), + ariaLabel: name || getAriaLabel(name), // ariaDescribedBy: unsavedChange.value ? `${groupId} ${unsavedId}` : undefined, }, categories, @@ -133,7 +137,7 @@ export const getFieldDefinition = <T extends SettingType>( groupId: `${name || id}-group`, id, isCustom: isCustom || false, - isDefaultValue: isEqual(defaultValue, setting.userValue), + isDefaultValue: isSettingDefaultValue(setting), isOverridden: isOverridden || false, isReadOnly: !!readonly, metric, diff --git a/packages/kbn-management/settings/field_definition/get_definitions.ts b/packages/kbn-management/settings/field_definition/get_definitions.ts new file mode 100644 index 0000000000000..c42613c8c2ce1 --- /dev/null +++ b/packages/kbn-management/settings/field_definition/get_definitions.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 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 { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; +import { FieldDefinition, SettingType, UiSettingMetadata } from '@kbn/management-settings-types'; +import { getFieldDefinition } from './get_definition'; + +/** + * Convenience function to convert settings taken from a UiSettingsClient into + * {@link FieldDefinition} objects. + * + * @param settings The settings retreived from the UiSettingsClient. + * @param client The client itself, used to determine if a setting is custom or overridden. + * @returns An array of {@link FieldDefinition} objects. + */ +export const getFieldDefinitions = ( + settings: Record<string, UiSettingMetadata<SettingType>>, + client: IUiSettingsClient +): Array<FieldDefinition<SettingType>> => + Object.entries(settings).map(([id, setting]) => + getFieldDefinition({ + id, + setting, + params: { isCustom: client.isCustom(id), isOverridden: client.isOverridden(id) }, + }) + ); diff --git a/packages/kbn-management/settings/field_definition/index.ts b/packages/kbn-management/settings/field_definition/index.ts index 2cd44db7df3b4..0c39e349ec3cf 100644 --- a/packages/kbn-management/settings/field_definition/index.ts +++ b/packages/kbn-management/settings/field_definition/index.ts @@ -30,3 +30,4 @@ export { } from './is'; export { getFieldDefinition } from './get_definition'; +export { getFieldDefinitions } from './get_definitions'; diff --git a/packages/kbn-management/settings/field_definition/kibana.jsonc b/packages/kbn-management/settings/field_definition/kibana.jsonc index 687f04662bbe4..43e2f19c5363f 100644 --- a/packages/kbn-management/settings/field_definition/kibana.jsonc +++ b/packages/kbn-management/settings/field_definition/kibana.jsonc @@ -1,5 +1,5 @@ { "type": "shared-common", "id": "@kbn/management-settings-field-definition", - "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" -} + "owner": "@elastic/platform-deployment-management" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/field_definition/storybook/field_definition.ts b/packages/kbn-management/settings/field_definition/storybook/field_definition.ts deleted file mode 100644 index 022b2e3e98050..0000000000000 --- a/packages/kbn-management/settings/field_definition/storybook/field_definition.ts +++ /dev/null @@ -1,100 +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 { useState } from 'react'; -import isEqual from 'lodash/isEqual'; - -import { action } from '@storybook/addon-actions'; - -import type { - FieldDefinition, - KnownTypeToValue, - SettingType, - UnsavedFieldChange, -} from '@kbn/management-settings-types'; - -import { UiSettingMetadata } from '@kbn/management-settings-types/metadata'; -import { getFieldDefinition } from '../get_definition'; - -/** - * Expand a typed {@link UiSettingMetadata} object with common {@link UiSettingMetadata} properties. - */ -const expandSetting = <T extends SettingType>( - setting: UiSettingMetadata<T> -): UiSettingMetadata<T> => { - const { type } = setting; - return { - ...setting, - category: ['categoryOne', 'categoryTwo'], - description: - 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec eu odio velit. Integer et mauris quis ligula elementum commodo. Morbi eu ipsum diam. Nulla auctor orci eget egestas vehicula. Aliquam gravida, dolor eu posuere vulputate, neque enim viverra odio, id viverra ipsum quam et ipsum.', - name: `Some ${type} setting`, - requiresPageReload: false, - }; -}; - -interface OnChangeParams<T extends SettingType> { - value?: KnownTypeToValue<T> | null; - isInvalid?: boolean; - error?: string; -} - -type OnChangeFn<T extends SettingType> = (params: OnChangeParams<T> | null) => void; - -/** - * Hook to build and maintain a {@link FieldDefinition} for a given {@link UiSettingMetadata} object - * for use in Storybook. It provides the {@link FieldDefinition}, a stateful - * {@link UnsavedFieldChange} object, and an {@link OnChangeFn} to update the unsaved change based - * on the action taken within a {@link FieldInput} or {@link FieldRow}. - */ -export const useFieldDefinition = <T extends SettingType>( - baseSetting: UiSettingMetadata<T>, - params: { isCustom?: boolean; isOverridden?: boolean; isDeprecated?: boolean } = {} -): [FieldDefinition<T>, UnsavedFieldChange<T>, OnChangeFn<T>] => { - const setting = { - ...expandSetting(baseSetting), - deprecation: params.isDeprecated - ? { message: 'This setting is deprecated', docLinksKey: 'storybook' } - : undefined, - }; - - const field = getFieldDefinition<T>({ - id: setting.name?.split(' ').join(':').toLowerCase() || setting.type, - setting, - params, - }); - - const { type, savedValue } = field; - - const [unsavedChange, setUnsavedChange] = useState<UnsavedFieldChange<T>>({ type }); - - const onChange: OnChangeFn<T> = (change) => { - if (!change) { - return; - } - - const { value, error, isInvalid } = change; - - if (isEqual(value, savedValue)) { - setUnsavedChange({ type }); - } else { - setUnsavedChange({ type, unsavedValue: value, error, isInvalid }); - } - - const formattedSavedValue = type === 'image' ? String(savedValue).slice(0, 25) : savedValue; - const formattedUnsavedValue = type === 'image' ? String(value).slice(0, 25) : value; - - action('onChange')({ - type, - unsavedValue: formattedUnsavedValue, - savedValue: formattedSavedValue, - }); - }; - - return [field, unsavedChange, onChange]; -}; diff --git a/packages/kbn-management/settings/field_definition/tsconfig.json b/packages/kbn-management/settings/field_definition/tsconfig.json index 4b85716365f5a..26d2dc3afb883 100644 --- a/packages/kbn-management/settings/field_definition/tsconfig.json +++ b/packages/kbn-management/settings/field_definition/tsconfig.json @@ -15,5 +15,7 @@ ], "kbn_references": [ "@kbn/management-settings-types", + "@kbn/core-ui-settings-browser", + "@kbn/management-settings-utilities", ] } diff --git a/packages/kbn-management/settings/types/index.ts b/packages/kbn-management/settings/types/index.ts index cc4d1738997a6..08cd1ae1df3bb 100644 --- a/packages/kbn-management/settings/types/index.ts +++ b/packages/kbn-management/settings/types/index.ts @@ -6,6 +6,9 @@ * Side Public License, v 1. */ +import { SettingType } from './setting_type'; +import { UnsavedFieldChange } from './unsaved_change'; + export type { ArrayFieldDefinition, BooleanFieldDefinition, @@ -33,6 +36,7 @@ export type { UndefinedUiSettingMetadata, UiSettingMetadata, KnownTypeToMetadata, + UiSetting, } from './metadata'; export type { @@ -59,3 +63,17 @@ export type { UndefinedSettingType, Value, } from './setting_type'; + +/** + * A React `ref` that indicates an input can be reset using an + * imperative handle. + */ +export type ResetInputRef = { + reset: () => void; +} | null; + +/** + * A function that is called when the value of a {@link FieldInput} changes. + * @param change The {@link UnsavedFieldChange} passed to the handler. + */ +export type OnChangeFn<T extends SettingType> = (change?: UnsavedFieldChange<T>) => void; diff --git a/packages/kbn-management/settings/types/kibana.jsonc b/packages/kbn-management/settings/types/kibana.jsonc index 9482b2bb0f15f..2a8c86bd31196 100644 --- a/packages/kbn-management/settings/types/kibana.jsonc +++ b/packages/kbn-management/settings/types/kibana.jsonc @@ -1,5 +1,5 @@ { "type": "shared-common", "id": "@kbn/management-settings-types", - "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" -} + "owner": "@elastic/platform-deployment-management" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/types/metadata.ts b/packages/kbn-management/settings/types/metadata.ts index 8e191310b943d..c0a79549039de 100644 --- a/packages/kbn-management/settings/types/metadata.ts +++ b/packages/kbn-management/settings/types/metadata.ts @@ -12,7 +12,7 @@ import { KnownTypeToValue, SettingType } from './setting_type'; /** * Creating this type based on {@link UiSettingsClientCommon} and exporting for ease. */ -type UiSetting<T> = PublicUiSettingsParams & UserProvidedValues<T>; +export type UiSetting<T> = PublicUiSettingsParams & UserProvidedValues<T>; /** * This is an type-safe abstraction over the {@link UiSetting} type, whose fields diff --git a/packages/kbn-management/settings/utilities/field/get_input_value.ts b/packages/kbn-management/settings/utilities/field/get_input_value.ts new file mode 100644 index 0000000000000..5d8b72420e51e --- /dev/null +++ b/packages/kbn-management/settings/utilities/field/get_input_value.ts @@ -0,0 +1,106 @@ +/* + * 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 { SettingType, UnsavedFieldChange, FieldDefinition } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from './has_unsaved_change'; + +type F<T extends SettingType> = Pick<FieldDefinition<T>, 'savedValue' | 'defaultValue'>; +type C<T extends SettingType> = UnsavedFieldChange<T>; + +/** + * Convenience function to compare an `array` {@link FieldDefinition} and its {@link UnsavedFieldChange}, + * + * @param field The `array` {@link FieldDefinition} to compare. + * @param change The `array` {@link UnsavedFieldChange } to compare. + */ +export function getFieldInputValue(field: F<'array'>, change?: C<'array'>): [string[], boolean]; +/** + * Convenience function to compare an `color` {@link FieldDefinition} and its {@link UnsavedFieldChange}, + * + * @param field The `color` {@link FieldDefinition} to compare. + * @param change The `color` {@link UnsavedFieldChange } to compare. + */ +export function getFieldInputValue(field: F<'color'>, change?: C<'color'>): [string, boolean]; +/** + * Convenience function to compare an `boolean` {@link FieldDefinition} and its {@link UnsavedFieldChange}, + * + * @param field The `boolean` {@link FieldDefinition} to compare. + * @param change The `boolean` {@link UnsavedFieldChange } to compare. + */ +export function getFieldInputValue(field: F<'boolean'>, change?: C<'boolean'>): [boolean, boolean]; +/** + * Convenience function to compare an `image` {@link FieldDefinition} and its {@link UnsavedFieldChange}, + * + * @param field The `image` {@link FieldDefinition} to compare. + * @param change The `image` {@link UnsavedFieldChange } to compare. + */ +export function getFieldInputValue(field: F<'image'>, change?: C<'image'>): [string, boolean]; +/** + * Convenience function to compare an `json` {@link FieldDefinition} and its {@link UnsavedFieldChange}, + * + * @param field The `json` {@link FieldDefinition} to compare. + * @param change The `json` {@link UnsavedFieldChange } to compare. + */ +export function getFieldInputValue(field: F<'json'>, change?: C<'json'>): [string, boolean]; +/** + * Convenience function to compare an `markdown` {@link FieldDefinition} and its {@link UnsavedFieldChange}, + * + * @param field The `markdown` {@link FieldDefinition} to compare. + * @param change The `markdown` {@link UnsavedFieldChange } to compare. + */ +export function getFieldInputValue(field: F<'markdown'>, change?: C<'markdown'>): [string, boolean]; +/** + * Convenience function to compare an `number` {@link FieldDefinition} and its {@link UnsavedFieldChange}, + * + * @param field The `number` {@link FieldDefinition} to compare. + * @param change The `number` {@link UnsavedFieldChange } to compare. + */ +export function getFieldInputValue(field: F<'number'>, change?: C<'number'>): [number, boolean]; +/** + * Convenience function to compare an `select` {@link FieldDefinition} and its {@link UnsavedFieldChange}, + * + * @param field The `select` {@link FieldDefinition} to compare. + * @param change The `select` {@link UnsavedFieldChange } to compare. + */ +export function getFieldInputValue(field: F<'select'>, change?: C<'select'>): [string, boolean]; +/** + * Convenience function to compare an `string` {@link FieldDefinition} and its {@link UnsavedFieldChange}, + * + * @param field The `string` {@link FieldDefinition} to compare. + * @param change The `string` {@link UnsavedFieldChange } to compare. + */ +export function getFieldInputValue(field: F<'string'>, change?: C<'string'>): [string, boolean]; +/** + * Convenience function to compare an `undefined` {@link FieldDefinition} and its {@link UnsavedFieldChange}, + * + * @param field The `undefined` {@link FieldDefinition} to compare. + * @param change The `undefined` {@link UnsavedFieldChange } to compare. + */ +export function getFieldInputValue( + field: F<'undefined'>, + change?: C<'undefined'> +): [string | null | undefined, boolean]; +/** + * Convenience function that, given a {@link FieldDefinition} and an {@link UnsavedFieldChange}, + * returns the value to be displayed in the input field, and a boolean indicating whether the + * value is an unsaved value. + * + * @param field The {@link FieldDefinition} to compare. + * @param change The {@link UnsavedFieldChange} to compare. + */ +export function getFieldInputValue<S extends SettingType>(field: F<S>, change?: C<S>) { + const isUnsavedChange = hasUnsavedChange(field, change); + + const value = isUnsavedChange + ? change?.unsavedValue + : field.savedValue !== undefined && field.savedValue !== null + ? field.savedValue + : field.defaultValue; + + return [value, isUnsavedChange]; +} diff --git a/packages/kbn-management/settings/utilities/field/has_unsaved_change.test.ts b/packages/kbn-management/settings/utilities/field/has_unsaved_change.test.ts new file mode 100644 index 0000000000000..f2761ab561c97 --- /dev/null +++ b/packages/kbn-management/settings/utilities/field/has_unsaved_change.test.ts @@ -0,0 +1,53 @@ +/* + * 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 { hasUnsavedChange } from './has_unsaved_change'; + +describe('hasUnsavedChange', () => { + it('returns false if the unsaved change is undefined', () => { + expect(hasUnsavedChange({ savedValue: 'foo', defaultValue: 'bar' })).toBe(false); + }); + + it('returns true if the unsaved change value is undefined or null', () => { + expect( + hasUnsavedChange({ savedValue: 'foo', defaultValue: 'bar' }, { unsavedValue: undefined }) + ).toBe(true); + expect( + hasUnsavedChange({ savedValue: 'foo', defaultValue: 'bar' }, { unsavedValue: null }) + ).toBe(true); + }); + + it('returns false if the unsaved change value is equal to the saved value', () => { + expect( + hasUnsavedChange({ savedValue: 'foo', defaultValue: 'bar' }, { unsavedValue: 'foo' }) + ).toBe(false); + }); + + it('returns false if the saved value is undefined, but the unsaved change value is equal to the default value', () => { + expect( + hasUnsavedChange({ savedValue: undefined, defaultValue: 'bar' }, { unsavedValue: 'bar' }) + ).toBe(false); + }); + + it('returns true if the unsaved change value is not equal to the saved value', () => { + expect( + hasUnsavedChange({ savedValue: 'foo', defaultValue: 'bar' }, { unsavedValue: 'baz' }) + ).toBe(true); + }); + + it('returns true if the saved value is undefined, but the unsaved change value is not equal to the default value', () => { + expect( + hasUnsavedChange({ savedValue: undefined, defaultValue: 'bar' }, { unsavedValue: 'baz' }) + ).toBe(true); + }); + + it('returns false if the saved value is undefined, and the unsaved change value is equal to the default value', () => { + expect( + hasUnsavedChange({ savedValue: undefined, defaultValue: 'bar' }, { unsavedValue: 'bar' }) + ).toBe(false); + }); +}); diff --git a/packages/kbn-management/settings/utilities/has_unsaved_change.ts b/packages/kbn-management/settings/utilities/field/has_unsaved_change.ts similarity index 66% rename from packages/kbn-management/settings/utilities/has_unsaved_change.ts rename to packages/kbn-management/settings/utilities/field/has_unsaved_change.ts index 0ac783b439e4a..08fc5d3c34095 100644 --- a/packages/kbn-management/settings/utilities/has_unsaved_change.ts +++ b/packages/kbn-management/settings/utilities/field/has_unsaved_change.ts @@ -22,14 +22,21 @@ import type { * @param unsavedChange The unsaved change to compare. */ export const hasUnsavedChange = <T extends SettingType>( - field: Pick<FieldDefinition<T>, 'savedValue'>, + field: Pick<FieldDefinition<T>, 'savedValue' | 'defaultValue'>, unsavedChange?: Pick<UnsavedFieldChange<T>, 'unsavedValue'> ) => { + // If there's no unsaved change, return false. if (!unsavedChange) { return false; } const { unsavedValue } = unsavedChange; - const { savedValue } = field; - return unsavedValue !== undefined && !isEqual(unsavedValue, savedValue); + + const { savedValue, defaultValue } = field; + const hasSavedValue = savedValue !== undefined && savedValue !== null; + + // Return a comparison of the unsaved value to: + // the saved value, if the field has a saved value, or + // the default value, if the field does not have a saved value. + return !isEqual(unsavedValue, hasSavedValue ? savedValue : defaultValue); }; diff --git a/packages/kbn-management/settings/utilities/field/index.ts b/packages/kbn-management/settings/utilities/field/index.ts new file mode 100644 index 0000000000000..b82ea8926089c --- /dev/null +++ b/packages/kbn-management/settings/utilities/field/index.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 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 { getFieldInputValue } from './get_input_value'; +export { hasUnsavedChange } from './has_unsaved_change'; +export { isFieldDefaultValue } from './is_default_value'; +export { useUpdate, type UseUpdateParameters } from './use_update'; diff --git a/packages/kbn-management/settings/utilities/field/is_default_value.ts b/packages/kbn-management/settings/utilities/field/is_default_value.ts new file mode 100644 index 0000000000000..a0a6dec865e7a --- /dev/null +++ b/packages/kbn-management/settings/utilities/field/is_default_value.ts @@ -0,0 +1,35 @@ +/* + * 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 isEqual from 'lodash/isEqual'; + +import { FieldDefinition, SettingType, UnsavedFieldChange } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from './has_unsaved_change'; + +type F<T extends SettingType> = Pick<FieldDefinition<T>, 'savedValue' | 'defaultValue'>; +type C<T extends SettingType> = UnsavedFieldChange<T>; + +/** + * Utility function to determine if a given value is equal to the default value of + * a {@link FieldDefinition}. + * + * @param field The field to compare. + * @param change The unsaved change to compare. + */ +export function isFieldDefaultValue<S extends SettingType>(field: F<S>, change?: C<S>): boolean { + const { defaultValue } = field; + const isUnsavedChange = hasUnsavedChange(field, change); + + const value = isUnsavedChange + ? change?.unsavedValue + : field.savedValue !== undefined && field.savedValue !== null + ? field.savedValue + : field.defaultValue; + + return isEqual(value, defaultValue); +} diff --git a/packages/kbn-management/settings/utilities/field/use_update.ts b/packages/kbn-management/settings/utilities/field/use_update.ts new file mode 100644 index 0000000000000..4744d59dd90e7 --- /dev/null +++ b/packages/kbn-management/settings/utilities/field/use_update.ts @@ -0,0 +1,36 @@ +/* + * 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 { FieldDefinition, SettingType, OnChangeFn } from '@kbn/management-settings-types'; +import { hasUnsavedChange } from './has_unsaved_change'; + +export interface UseUpdateParameters<T extends SettingType> { + /** The {@link OnChangeFn} to invoke. */ + onChange: OnChangeFn<T>; + /** The {@link FieldDefinition} to use to create an update. */ + field: Pick<FieldDefinition<T>, 'defaultValue' | 'savedValue'>; +} + +/** + * Hook to provide a standard {@link OnChangeFn} that will send an update to the + * field. + * + * @param params The {@link UseUpdateParameters} to use. + * @returns An {@link OnChangeFn} that will send an update to the field. + */ +export const useUpdate = <T extends SettingType>(params: UseUpdateParameters<T>): OnChangeFn<T> => { + const { onChange, field } = params; + + return (update) => { + if (hasUnsavedChange(field, update)) { + onChange(update); + } else { + onChange(); + } + }; +}; diff --git a/packages/kbn-management/settings/utilities/get_input_value.ts b/packages/kbn-management/settings/utilities/get_input_value.ts deleted file mode 100644 index 17ae6833fdb81..0000000000000 --- a/packages/kbn-management/settings/utilities/get_input_value.ts +++ /dev/null @@ -1,46 +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 { SettingType, UnsavedFieldChange, FieldDefinition } from '@kbn/management-settings-types'; -import { hasUnsavedChange } from './has_unsaved_change'; - -type F<T extends SettingType> = Pick<FieldDefinition<T>, 'savedValue' | 'defaultValue'>; -type C<T extends SettingType> = UnsavedFieldChange<T>; - -/** - * Convenience function that, given a {@link FieldDefinition} and an {@link UnsavedFieldChange}, - * returns the value to be displayed in the input field, and a boolean indicating whether the - * value is an unsaved value. - * - * @param field The field to compare. - * @param change The unsaved change to compare. - */ -export function getInputValue(field: F<'array'>, change: C<'array'>): [string[], boolean]; -export function getInputValue(field: F<'color'>, change: C<'color'>): [string, boolean]; -export function getInputValue(field: F<'boolean'>, change: C<'boolean'>): [boolean, boolean]; -export function getInputValue(field: F<'image'>, change: C<'image'>): [string, boolean]; -export function getInputValue(field: F<'json'>, change: C<'json'>): [string, boolean]; -export function getInputValue(field: F<'markdown'>, change: C<'markdown'>): [string, boolean]; -export function getInputValue(field: F<'number'>, change: C<'number'>): [number, boolean]; -export function getInputValue(field: F<'select'>, change: C<'select'>): [string, boolean]; -export function getInputValue(field: F<'string'>, change: C<'string'>): [string, boolean]; -export function getInputValue( - field: F<'undefined'>, - change: C<'undefined'> -): [string | null | undefined, boolean]; -export function getInputValue<S extends SettingType>(field: F<S>, change: C<S>) { - const isUnsavedValue = hasUnsavedChange(field, change); - - const value = isUnsavedValue - ? change.unsavedValue - : field.savedValue !== undefined && field.savedValue !== null - ? field.savedValue - : field.defaultValue; - - return [value, isUnsavedValue]; -} diff --git a/packages/kbn-management/settings/utilities/index.ts b/packages/kbn-management/settings/utilities/index.ts index 1c35af180866d..4e4523f66eb59 100644 --- a/packages/kbn-management/settings/utilities/index.ts +++ b/packages/kbn-management/settings/utilities/index.ts @@ -6,6 +6,11 @@ * Side Public License, v 1. */ -export { hasUnsavedChange } from './has_unsaved_change'; -export { isUnsavedValue } from './is_unsaved_value'; -export { getInputValue } from './get_input_value'; +export { isSettingDefaultValue, normalizeSettings } from './setting'; +export { + getFieldInputValue, + hasUnsavedChange, + isFieldDefaultValue, + useUpdate, + type UseUpdateParameters, +} from './field'; diff --git a/packages/kbn-management/settings/utilities/is_unsaved_value.ts b/packages/kbn-management/settings/utilities/is_unsaved_value.ts deleted file mode 100644 index 863d6c8b59ba0..0000000000000 --- a/packages/kbn-management/settings/utilities/is_unsaved_value.ts +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 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 isEqual from 'lodash/isEqual'; - -import { FieldDefinition, KnownTypeToValue, SettingType } from '@kbn/management-settings-types'; - -/** - * Convenience function to compare a given {@link FieldDefinition} to an {@link UnsavedFieldChange} - * to determine if the value in the unsaved change is a different value from what is saved. - * - * @param field The field to compare. - * @param unsavedValue The unsaved value to compare. - */ -export const isUnsavedValue = <T extends SettingType>( - field: FieldDefinition<T>, - unsavedValue?: KnownTypeToValue<T> | null -) => { - const { savedValue } = field; - - return unsavedValue !== undefined && !isEqual(unsavedValue, savedValue); -}; diff --git a/packages/kbn-management/settings/utilities/kibana.jsonc b/packages/kbn-management/settings/utilities/kibana.jsonc index 391d209e9f192..ebafaeba6d884 100644 --- a/packages/kbn-management/settings/utilities/kibana.jsonc +++ b/packages/kbn-management/settings/utilities/kibana.jsonc @@ -1,5 +1,5 @@ { "type": "shared-common", "id": "@kbn/management-settings-utilities", - "owner": "@elastic/platform-deployment-management @elastic/appex-sharedux" -} + "owner": "@elastic/platform-deployment-management" +} \ No newline at end of file diff --git a/packages/kbn-management/settings/utilities/setting/index.ts b/packages/kbn-management/settings/utilities/setting/index.ts new file mode 100644 index 0000000000000..c2dd8f654d1b8 --- /dev/null +++ b/packages/kbn-management/settings/utilities/setting/index.ts @@ -0,0 +1,10 @@ +/* + * 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 { isSettingDefaultValue } from './is_default_value'; +export { normalizeSettings } from './normalize_settings'; diff --git a/packages/kbn-management/settings/utilities/setting/is_default_value.ts b/packages/kbn-management/settings/utilities/setting/is_default_value.ts new file mode 100644 index 0000000000000..b59467b7410ac --- /dev/null +++ b/packages/kbn-management/settings/utilities/setting/is_default_value.ts @@ -0,0 +1,30 @@ +/* + * 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 { SettingType, UiSettingMetadata, Value } from '@kbn/management-settings-types'; +import isEqual from 'lodash/isEqual'; + +/** + * Utility function to compare a value to the default value of a {@link UiSettingMetadata}. + * @param setting The source {@link UiSettingMetadata} object. + * @param userValue The value to compare to the setting's default value. Default is the + * {@link UiSettingMetadata}'s user value. + * @returns True if the provided value is equal to the setting's default value, false otherwise. + */ +export const isSettingDefaultValue = ( + setting: UiSettingMetadata<SettingType>, + userValue: Value = setting.userValue +) => { + const { value } = setting; + + if (userValue === undefined || userValue === null) { + return true; + } + + return isEqual(value, userValue); +}; diff --git a/packages/kbn-management/settings/utilities/setting/normalize_settings.test.ts b/packages/kbn-management/settings/utilities/setting/normalize_settings.test.ts new file mode 100644 index 0000000000000..48ed648e58c2f --- /dev/null +++ b/packages/kbn-management/settings/utilities/setting/normalize_settings.test.ts @@ -0,0 +1,75 @@ +/* + * 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 { normalizeSettings } from './normalize_settings'; + +describe('normalizeSettings', () => { + describe('adds a missing type if there is a value', () => { + it('a string value', () => { + const setting = { name: 'foo', value: 'bar' }; + const settings = { foo: setting }; + + expect(normalizeSettings(settings)).toEqual({ + foo: { type: 'string', ...setting }, + }); + }); + it('a boolean value', () => { + const setting = { name: 'foo', value: true }; + const settings = { foo: setting }; + + expect(normalizeSettings(settings)).toEqual({ + foo: { type: 'boolean', ...setting }, + }); + }); + it('an array value', () => { + const setting = { name: 'foo', value: ['foo', 'bar'] }; + const settings = { foo: setting }; + + expect(normalizeSettings(settings)).toEqual({ + foo: { type: 'array', ...setting }, + }); + }); + // + // can't test a bigint value unless Jest is set to use only one + // webworker. see: https://github.com/jestjs/jest/issues/11617 + // + // it('a bigint value', () => { + // const setting = { name: 'foo', value: BigInt(9007199254740991) }; + // const settings = { foo: setting }; + + // expect(normalizeSettings(settings)).toEqual({ + // foo: { type: 'number', ...setting }, + // }); + // }); + // + it('a numeric value', () => { + const setting = { name: 'foo', value: 10 }; + const settings = { foo: setting }; + + expect(normalizeSettings(settings)).toEqual({ + foo: { type: 'number', ...setting }, + }); + }); + }); + + it('throws if the value is an object', () => { + const setting = { name: 'foo', value: { bar: 'baz' } }; + const settings = { foo: setting }; + + expect(() => normalizeSettings(settings)).toThrowError( + `incompatible SettingType: 'foo' type object | {"name":"foo","value":{"bar":"baz"}}` + ); + }); + + it('does nothing if the type and value are already set', () => { + const setting = { name: 'foo', value: 'bar', type: 'string' as 'string' }; + const settings = { foo: setting }; + + expect(normalizeSettings(settings)).toEqual(settings); + }); +}); diff --git a/packages/kbn-management/settings/utilities/setting/normalize_settings.ts b/packages/kbn-management/settings/utilities/setting/normalize_settings.ts new file mode 100644 index 0000000000000..fa247151c7751 --- /dev/null +++ b/packages/kbn-management/settings/utilities/setting/normalize_settings.ts @@ -0,0 +1,118 @@ +/* + * 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 { SettingType, UiSetting, UiSettingMetadata, Value } from '@kbn/management-settings-types'; + +type RawSettings = Record<string, UiSetting<SettingType>>; + +/** + * UiSettings have an extremely permissive set of types, which makes it difficult to code + * against them. Sometimes the `type` field-- the property that tells us what input to render + * to change the setting-- is missing. This function attempts to derive that `type` property + * from the `value` or `userValue` fields of the setting. + * + * @param setting The setting from which to derive the type. + * @returns The derived {@link SettingType}. + */ +const deriveType = (setting: UiSetting<SettingType>): SettingType => { + const { type, value: defaultValue, userValue: savedValue } = setting; + + if (type) { + return type; + } + + if (Array.isArray(defaultValue) || Array.isArray(savedValue)) { + return 'array'; + } + + const typeofVal = defaultValue != null ? typeof defaultValue : typeof savedValue; + + if (typeofVal === 'bigint') { + return 'number'; + } + + if (typeofVal === 'boolean') { + return 'boolean'; + } + + if (typeofVal === 'symbol' || typeofVal === 'object' || typeofVal === 'function') { + throw new Error( + `incompatible SettingType: '${setting.name}' type ${typeofVal} | ${JSON.stringify(setting)}` + ); + } + + return typeofVal; +}; + +/** + * UiSettings have an extremely permissive set of types, which makes it difficult to code + * against them. The `value` property is typed as `unknown`, but the setting has a `type` + * property that tells us what type the value should be. This function attempts to cast + * the value from a given type. + * + * @param type The {@link SettingType} to which to cast the value. + * @param value The value to cast. + */ +const deriveValue = (type: SettingType, value: unknown): Value => { + if (value === null) { + return null; + } + + switch (type) { + case 'color': + case 'image': + case 'json': + case 'markdown': + case 'string': + return value as string; + case 'number': + return value ? Number(value) : undefined; + case 'boolean': + return Boolean(value); + case 'array': + return Array.isArray(value) ? value : [value]; + default: + return value as string; + } +}; + +/** + * UiSettings have an extremely permissive set of types, which makes it difficult to code + * against them. The `type` and `value` properties are inherently related, and important, + * but in some cases one or both are missing. This function attempts to normalize the + * settings to a strongly-typed format, {@link UiSettingMetadata} based on the information + * in the setting at runtime. + * + * @param rawSettings The raw settings retrieved from the {@link IUiSettingsClient}, which + * may be missing the `type` or `value` properties. + * @returns A mapped collection of normalized {@link UiSetting} objects. + */ +export const normalizeSettings = ( + rawSettings: RawSettings +): Record<string, UiSettingMetadata<SettingType>> => { + const normalizedSettings: Record<string, UiSettingMetadata<SettingType>> = {}; + + const entries = Object.entries(rawSettings); + + entries.forEach(([id, rawSetting]) => { + const type = deriveType(rawSetting); + const value = deriveValue(type, rawSetting.value); + + const setting = { + ...rawSetting, + type, + value, + }; + + if (setting) { + normalizedSettings[id] = setting; + } + }); + + return normalizedSettings; +}; diff --git a/packages/kbn-management/settings/field_definition/storybook/index.ts b/packages/kbn-management/settings/utilities/storybook/index.ts similarity index 88% rename from packages/kbn-management/settings/field_definition/storybook/index.ts rename to packages/kbn-management/settings/utilities/storybook/index.ts index b372e1db1cf1b..188d7d0d49725 100644 --- a/packages/kbn-management/settings/field_definition/storybook/index.ts +++ b/packages/kbn-management/settings/utilities/storybook/index.ts @@ -7,4 +7,3 @@ */ export { getDefaultValue, getUserValue, IMAGE } from './values'; -export { useFieldDefinition } from './field_definition'; diff --git a/packages/kbn-management/settings/field_definition/storybook/values.ts b/packages/kbn-management/settings/utilities/storybook/values.ts similarity index 100% rename from packages/kbn-management/settings/field_definition/storybook/values.ts rename to packages/kbn-management/settings/utilities/storybook/values.ts From c5c2156621ef1ee259e0a5e080676bf932565519 Mon Sep 17 00:00:00 2001 From: "Mark J. Hoy" <mark.hoy@elastic.co> Date: Tue, 19 Sep 2023 13:29:22 -0400 Subject: [PATCH 142/149] [Enterprise Search] Remove Workplace Search from Top Level Search (#166747) ## Summary Removes legacy Workplace Search result from the top level search. ![image](https://github.com/elastic/kibana/assets/13320310/5b854468-1d1f-4ddc-8fe9-80dcde8c8ccb) This is part of the initiative for a longer term place for eventually deprecating the legacy Workplace Search app. ### Checklist - [x] [Unit or functional tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html) were updated or added to match the most common scenarios --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> --- .../utils/search_result_provider.test.ts | 50 ++++++++++++++++++- .../server/utils/search_result_provider.ts | 9 ---- 2 files changed, 49 insertions(+), 10 deletions(-) diff --git a/x-pack/plugins/enterprise_search/server/utils/search_result_provider.test.ts b/x-pack/plugins/enterprise_search/server/utils/search_result_provider.test.ts index f955c96422f4b..f1736d88d1ea4 100644 --- a/x-pack/plugins/enterprise_search/server/utils/search_result_provider.test.ts +++ b/x-pack/plugins/enterprise_search/server/utils/search_result_provider.test.ts @@ -8,7 +8,7 @@ import { NEVER } from 'rxjs'; import { TestScheduler } from 'rxjs/testing'; -import { ENTERPRISE_SEARCH_CONTENT_PLUGIN } from '../../common/constants'; +import { APP_SEARCH_PLUGIN, ENTERPRISE_SEARCH_CONTENT_PLUGIN } from '../../common/constants'; import { getSearchResultProvider } from './search_result_provider'; @@ -47,6 +47,18 @@ describe('Enterprise Search search provider', () => { }, }; + const appSearchResult = { + icon: 'logoEnterpriseSearch', + id: 'app_search', + score: 100, + title: 'App Search', + type: 'Search', + url: { + path: `${APP_SEARCH_PLUGIN.URL}`, + prependBasePath: true, + }, + }; + const searchResultProvider = getSearchResultProvider(basePathMock, { hasConnectors: true, hasWebCrawler: true, @@ -192,5 +204,41 @@ describe('Enterprise Search search provider', () => { }); }); }); + it('returns results for legacy app search', () => { + const searchProvider = getSearchResultProvider(basePathMock, { + hasConnectors: false, + hasWebCrawler: false, + canDeployEntSearch: true, + } as any); + getTestScheduler().run(({ expectObservable }) => { + expectObservable( + searchProvider.find( + { term: 'app search' }, + { aborted$: NEVER, maxResults: 1, preference: '' }, + {} as any + ) + ).toBe('(a|)', { + a: [appSearchResult], + }); + }); + }); + it('does not return results for legacy workplace search', () => { + const searchProvider = getSearchResultProvider(basePathMock, { + hasConnectors: false, + hasWebCrawler: false, + canDeployEntSearch: true, + } as any); + getTestScheduler().run(({ expectObservable }) => { + expectObservable( + searchProvider.find( + { term: 'workplace search' }, + { aborted$: NEVER, maxResults: 1, preference: '' }, + {} as any + ) + ).toBe('(a|)', { + a: [], + }); + }); + }); }); }); diff --git a/x-pack/plugins/enterprise_search/server/utils/search_result_provider.ts b/x-pack/plugins/enterprise_search/server/utils/search_result_provider.ts index 3f98b5368c7d2..3c81e584feafe 100644 --- a/x-pack/plugins/enterprise_search/server/utils/search_result_provider.ts +++ b/x-pack/plugins/enterprise_search/server/utils/search_result_provider.ts @@ -18,7 +18,6 @@ import { ENTERPRISE_SEARCH_CONNECTOR_CRAWLER_SERVICE_TYPE, ENTERPRISE_SEARCH_CONTENT_PLUGIN, APP_SEARCH_PLUGIN, - WORKPLACE_SEARCH_PLUGIN, ESRE_PLUGIN, } from '../../common/constants'; @@ -106,14 +105,6 @@ export function getSearchResultProvider( serviceType: 'app_search', url: APP_SEARCH_PLUGIN.URL, }, - { - keywords: ['workplace', 'search'], - name: i18n.translate('xpack.enterpriseSearch.searchProvider.workplaceSearch.name', { - defaultMessage: 'Workplace Search', - }), - serviceType: 'workplace_search', - url: WORKPLACE_SEARCH_PLUGIN.URL, - }, { keywords: ['esre', 'search'], name: i18n.translate('xpack.enterpriseSearch.searchProvider.esre.name', { From b21e7763f0af6f33a28112d2fc6d53c88f40c657 Mon Sep 17 00:00:00 2001 From: Jon <jon@elastic.co> Date: Tue, 19 Sep 2023 12:38:50 -0500 Subject: [PATCH 143/149] Update CODEOWNERS (#166462) --- .github/CODEOWNERS | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 85c901fd8659e..33321137c8412 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1101,6 +1101,12 @@ x-pack/plugins/cloud_integrations/cloud_full_story/server/config.ts @elastic/kib /x-pack/test/functional/services/cases/ @elastic/response-ops /x-pack/test/functional_with_es_ssl/apps/cases/ @elastic/response-ops /x-pack/test/api_integration/apis/cases/ @elastic/response-ops +/x-pack/test_serverless/functional/test_suites/observability/cases @elastic/response-ops +/x-pack/test_serverless/functional/test_suites/search/cases/ @elastic/response-ops +/x-pack/test_serverless/functional/test_suites/security/ftr/cases/ @elastic/response-ops +/x-pack/test_serverless/api_integration/test_suites/search/cases/ @elastic/response-ops +/x-pack/test_serverless/api_integration/test_suites/observability/cases/ @elastic/response-ops +/x-pack/test_serverless/api_integration/test_suites/security/cases/ @elastic/response-ops # Enterprise Search /x-pack/test/functional_enterprise_search/ @elastic/enterprise-search-frontend From fe4c76e32650f96f123782e7cbccc31483b4b308 Mon Sep 17 00:00:00 2001 From: Lisa Cawley <lcawley@elastic.co> Date: Tue, 19 Sep 2023 11:29:07 -0700 Subject: [PATCH 144/149] Update transforms.alertingRules documentation link (#166758) --- packages/kbn-doc-links/src/get_doc_links.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/kbn-doc-links/src/get_doc_links.ts b/packages/kbn-doc-links/src/get_doc_links.ts index 014bd64bbb68a..ba97f28578b1a 100644 --- a/packages/kbn-doc-links/src/get_doc_links.ts +++ b/packages/kbn-doc-links/src/get_doc_links.ts @@ -506,8 +506,7 @@ export const getDocLinks = ({ kibanaBranch }: GetDocLinkOptions): DocLinks => { }, transforms: { guide: `${ELASTICSEARCH_DOCS}transforms.html`, - // TODO add valid docs URL - alertingRules: `${MACHINE_LEARNING_DOCS}ml-configuring-alerts.html`, + alertingRules: `${ELASTICSEARCH_DOCS}transform-alerts.html`, }, visualize: { guide: `${KIBANA_DOCS}dashboard.html`, From a3a2f402fe20076a14edabb28eae16cf7d5cf7dd Mon Sep 17 00:00:00 2001 From: Lisa Cawley <lcawley@elastic.co> Date: Tue, 19 Sep 2023 11:31:22 -0700 Subject: [PATCH 145/149] [DOCS] Move preconfigured Swimlane connector details (#163547) --- .../connectors/action-types/swimlane.asciidoc | 73 ++----------------- .../pre-configured-connectors.asciidoc | 66 ++++++++++++++++- docs/settings/alert-action-settings.asciidoc | 45 +++++++++++- 3 files changed, 111 insertions(+), 73 deletions(-) diff --git a/docs/management/connectors/action-types/swimlane.asciidoc b/docs/management/connectors/action-types/swimlane.asciidoc index 18e05b04eca51..227846c7539f3 100644 --- a/docs/management/connectors/action-types/swimlane.asciidoc +++ b/docs/management/connectors/action-types/swimlane.asciidoc @@ -3,6 +3,10 @@ ++++ <titleabbrev>Swimlane</titleabbrev> ++++ +:frontmatter-description: Add a connector that can create Swimlane records. +:frontmatter-tags-products: [kibana] +:frontmatter-tags-content-type: [how-to] +:frontmatter-tags-user-goals: [configure] The Swimlane connector uses the https://swimlane.com/knowledge-center/docs/developer-guide/rest-api/[Swimlane REST API] to create Swimlane records. @@ -25,74 +29,7 @@ Swimlane connectors have the following configuration properties: Name:: The name of the connector. URL:: Swimlane instance URL. Application ID:: Swimlane application ID. -API token:: Swimlane API authentication token for HTTP Basic authentication. - - -[float] -[[preconfigured-swimlane-configuration]] -=== Create preconfigured connectors - -If you are running {kib} on-prem, you can define connectors by -adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. -For example: - -[source,text] --- -xpack.actions.preconfigured: - my-swimlane: - name: preconfigured-swimlane-connector-type - actionTypeId: .swimlane - config: - apiUrl: https://elastic.swimlaneurl.us - appId: app-id - mappings: - alertIdConfig: - fieldType: text - id: agp4s - key: alert-id - name: Alert ID - caseIdConfig: - fieldType: text - id: ae1mi - key: case-id - name: Case ID - caseNameConfig: - fieldType: text - id: anxnr - key: case-name - name: Case Name - commentsConfig: - fieldType: comments - id: au18d - key: comments - name: Comments - descriptionConfig: - fieldType: text - id: ae1gd - key: description - name: Description - ruleNameConfig: - fieldType: text - id: avfsl - key: rule-name - name: Rule Name - severityConfig: - fieldType: text - id: a71ik - key: severity - name: severity - secrets: - apiToken: tokenkeystorevalue --- - -Config defines information for the connector type. - -`apiUrl`:: An address that corresponds to *URL*. -`appId`:: A key that corresponds to *Application ID*. - -Secrets defines sensitive information for the connector type. - -`apiToken`:: A string that corresponds to *API Token*. Should be stored in the <<creating-keystore, {kib} keystore>>. +API token:: Swimlane API authentication token for HTTP basic authentication. [float] [[swimlane-action-configuration]] diff --git a/docs/management/connectors/pre-configured-connectors.asciidoc b/docs/management/connectors/pre-configured-connectors.asciidoc index 0cf5734f1ab77..b0f472907e56c 100644 --- a/docs/management/connectors/pre-configured-connectors.asciidoc +++ b/docs/management/connectors/pre-configured-connectors.asciidoc @@ -58,7 +58,7 @@ Sensitive properties, such as passwords, can also be stored in the ============================================== [float] -[[managing-pre-configured-connectors]] +[[managing-preconfigured-connectors]] === View preconfigured connectors When you open the main menu, click *{stack-manage-app} > {connectors-ui}*. @@ -71,7 +71,7 @@ image::images/preconfigured-connectors-managing.png[Connectors managing tab with Clicking a preconfigured connector shows the description, but not the configuration. [float] -[[build-in-preconfigured-connectors]] +[[built-in-preconfigured-connectors]] === Built-in preconfigured connectors {kib} provides the following built-in preconfigured connectors: @@ -104,6 +104,7 @@ Index names must start with `kibana-alert-history-` to take advantage of the pre ==== [float] +[[preconfigured-connector-examples]] === Examples * <<preconfigured-d3security-configuration>> @@ -115,6 +116,7 @@ Index names must start with `kibana-alert-history-` to take advantage of the pre * <<preconfigured-pagerduty-configuration>> * <<preconfigured-server-log-configuration>> * <<preconfigured-slack-configuration>> +* <<preconfigured-swimlane-configuration>> * <<preconfigured-webhook-configuration>> * <<preconfigured-cases-webhook-configuration>> * <<preconfigured-xmatters-configuration>> @@ -412,7 +414,6 @@ xpack.actions.preconfigured: actionTypeId: .server-log -- - [float] [[preconfigured-slack-configuration]] ==== Slack connectors @@ -443,6 +444,65 @@ xpack.actions.preconfigured: -- <1> The Slack bot user OAuth token. +[float] +[[preconfigured-swimlane-configuration]] +==== Swimlane connectors + +The following example creates a <<swimlane-action-type,Swimlane connector>>: + +[source,text] +-- +xpack.actions.preconfigured: + my-swimlane: + name: preconfigured-swimlane-connector-type + actionTypeId: .swimlane + config: + apiUrl: https://elastic.swimlaneurl.us <1> + appId: app-id <2> + mappings: <3> + alertIdConfig: + fieldType: text + id: agp4s + key: alert-id + name: Alert ID + caseIdConfig: + fieldType: text + id: ae1mi + key: case-id + name: Case ID + caseNameConfig: + fieldType: text + id: anxnr + key: case-name + name: Case Name + commentsConfig: + fieldType: comments + id: au18d + key: comments + name: Comments + descriptionConfig: + fieldType: text + id: ae1gd + key: description + name: Description + ruleNameConfig: + fieldType: text + id: avfsl + key: rule-name + name: Rule Name + severityConfig: + fieldType: text + id: a71ik + key: severity + name: severity + secrets: + apiToken: tokenkeystorevalue <4> +-- +<1> The {swimlane} instance URL. +<2> The {swimlane} application identifier. +<3> Field mappings for properties such as the alert identifer, severity, and rule name. +<4> The API authentication token for HTTP basic authentication. NOTE: This value should be stored in the <<creating-keystore, {kib} keystore>>. + [float] [[preconfigured-webhook-configuration]] ==== Webhook connectors diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index 88da0859858a0..5e97018327289 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -234,7 +234,7 @@ Specifies the maximum number of actions that can be queued. Default: 1000000 [[preconfigured-connector-settings]] === Preconfigured connector settings -These settings vary depending on which type of <<pre-configured-connectors,preconfigured connector>> you're adding. +These settings vary depending on which type of preconfigured connector you're adding. For example: [source,yaml] @@ -245,6 +245,8 @@ xpack.actions.preconfigured: actionTypeId: .server-log ---------------------------------------- +For more examples, go to <<pre-configured-connectors>>. + `xpack.actions.preconfiguredAlertHistoryEsIndex` {ess-icon}:: Enables a preconfigured alert history {es} <<index-action-type, Index>> connector. Default: `false`. @@ -266,10 +268,18 @@ A configuration URL that varies by connector: * For a <<jira-action-type,Jira connector>>, specifies the Jira instance URL. * For an <<opsgenie-action-type,{opsgenie} connector>>, specifies the {opsgenie} URL. For example, `https://api.opsgenie.com` or `https://api.eu.opsgenie.com`. * For a <<pagerduty-action-type,PagerDuty connector>>, specifies the PagerDuty event URL. Defaults to `https://events.pagerduty.com/v2/enqueue`. +* For a <<swimlane-action-type,{swimlane} connector>>, specifies the {swimlane} instance URL. NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the hostname in the URL is added to the allowed hosts. -- +`xpack.actions.preconfigured.<connector-id>.config.appId`:: +An application ID that varies by connector: ++ +-- +* For a <<swimlane-action-type,{swimlane} connector>>, specifies a {swimlane} application identifier. +-- + `xpack.actions.preconfigured.<connector-id>.config.clientId`:: For an <<email-action-type,email connector>>, specifies a GUID format value that corresponds to the client ID, which is a part of OAuth 2.0 client credentials authentication. @@ -333,6 +343,37 @@ For an <<email-action-type,email connector>>, specifies the host name of the ser `xpack.actions.preconfigured.<connector-id>.config.index`:: For an <<index-action-type,index connector>>, specifies the {es} index. +`xpack.actions.preconfigured.<connector-id>.config.mappings`:: +For a <<swimlane-action-type,Swimlane connector>>, specifies field mappings. + +`xpack.actions.preconfigured.<connector-id>.config.mappings.alertIdConfig`:: +For a <<swimlane-action-type,Swimlane connector>>, field mapping for the alert identifier. +You must provide `fieldtype`, `id`, `key`, and `name` values. + +`xpack.actions.preconfigured.<connector-id>.config.mappings.caseIdConfig`:: +For a <<swimlane-action-type,Swimlane connector>>, field mapping for the case identifier. +You must provide `fieldtype`, `id`, `key`, and `name` values. + +`xpack.actions.preconfigured.<connector-id>.config.mappings.caseNameConfig`:: +For a <<swimlane-action-type,Swimlane connector>>, field mapping for the case name. +You must provide `fieldtype`, `id`, `key`, and `name` values. + +`xpack.actions.preconfigured.<connector-id>.config.mappings.commentsConfig`:: +For a <<swimlane-action-type,Swimlane connector>>, field mapping for the case comments. +You must provide `fieldtype`, `id`, `key`, and `name` values. + +`xpack.actions.preconfigured.<connector-id>.config.mappings.descriptionConfig`:: +For a <<swimlane-action-type,Swimlane connector>>, field mapping for the case description. +You must provide `fieldtype`, `id`, `key`, and `name` values. + +`xpack.actions.preconfigured.<connector-id>.config.mappings.ruleNameConfig`:: +For a <<swimlane-action-type,Swimlane connector>>, field mapping for the rule name. +You must provide `fieldtype`, `id`, `key`, and `name` values. + +`xpack.actions.preconfigured.<connector-id>.config.mappings.severityConfig`:: +For a <<swimlane-action-type,Swimlane connector>>, specifies a field mapping for the severity. +You must provide `fieldtype`, `id`, `key`, and `name` values. + `xpack.actions.preconfigured.<connector-id>.config.method`:: For a <<webhook-action-type,webhook connector>>, specifies the HTTP request method, either `post` or `put`. Defaults to `post`. @@ -406,7 +447,7 @@ For an <<resilient-action-type,{ibm-r} connector>>, specifies the authentication For an <<resilient-action-type,{ibm-r} connector>>, specifies the authentication key secret for HTTP basic authentication. `xpack.actions.preconfigured.<connector-id>.secrets.apiToken`:: -For a <<jira-action-type,Jira connector>>, specifies the API authentication token for HTTP basic authentication. +For a <<jira-action-type,Jira>> or <<swimlane-action-type,{swimlane} connector>>, specifies the API authentication token for HTTP basic authentication. `xpack.actions.preconfigured.<connector-id>.secrets.clientSecret`:: A client secret that varies by connector: From 3fe13fd6d20d20d9ae4e4d4ad3e0355c3316ac5b Mon Sep 17 00:00:00 2001 From: Jatin Kathuria <jatin.kathuria@elastic.co> Date: Tue, 26 Sep 2023 13:36:31 +0200 Subject: [PATCH 146/149] fix: timeline state restore when refreshing the page --- .../use_discover_in_timeline_actions.tsx | 5 ++- .../timeline/discover_tab_content/index.tsx | 8 ++-- .../discover_timeline_state_integration.cy.ts | 41 ++++++++++++++++++- 3 files changed, 47 insertions(+), 7 deletions(-) diff --git a/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx b/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx index 14613f2cdcc0e..0f2d7a28b3af6 100644 --- a/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx +++ b/x-pack/plugins/security_solution/public/common/components/discover_in_timeline/use_discover_in_timeline_actions.tsx @@ -108,7 +108,8 @@ export const useDiscoverInTimelineActions = ( (savedSearch: SavedSearch) => { const { appState } = getAppStateFromSavedSearch(savedSearch); if (!appState) return; - discoverStateContainer.current?.appState.set(appState); + // should not use appState.set as it is not 100% reliable + discoverStateContainer.current?.appState.replaceUrlState(appState); const timeRangeFromSavedSearch = savedSearch.timeRange; discoverStateContainer.current?.globalState.set({ ...discoverStateContainer.current?.globalState.get(), @@ -123,7 +124,7 @@ export const useDiscoverInTimelineActions = ( * * */ const resetDiscoverAppState = useCallback(() => { - discoverStateContainer.current?.appState.set(defaultDiscoverAppState); + discoverStateContainer.current?.appState.replaceUrlState(defaultDiscoverAppState); discoverStateContainer.current?.globalState.set({ ...discoverStateContainer.current?.globalState.get(), time: defaultDiscoverTimeRange, diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/index.tsx b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/index.tsx index 7733be90236ab..7584583e57fe0 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/index.tsx +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/index.tsx @@ -219,9 +219,11 @@ export const DiscoverTabContent: FC<DiscoverTabContentProps> = ({ timelineId }) async ({ stateContainer }) => { setDiscoverStateContainer(stateContainer); let savedSearchAppState; - if (savedSearchById) { - savedSearchAppState = getAppStateFromSavedSearch(savedSearchById); + if (savedSearchId) { + const localSavedSearch = await stateContainer.savedSearchState.load(savedSearchId); + savedSearchAppState = getAppStateFromSavedSearch(localSavedSearch); } + const finalAppState = savedSearchAppState?.appState ?? discoverAppState; if (finalAppState) { @@ -270,8 +272,8 @@ export const DiscoverTabContent: FC<DiscoverTabContentProps> = ({ timelineId }) dataView, setDiscoverStateContainer, getAppStateFromSavedSearch, - savedSearchById, discoverDataService.query.timefilter.timefilter, + savedSearchId, ] ); diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts index c292a65f0c92f..7fe6422fb33a8 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts @@ -115,7 +115,7 @@ describe( gotToDiscoverTab(); updateDateRangeInLocalDatePickers(DISCOVER_CONTAINER, INITIAL_START_DATE, INITIAL_END_DATE); }); - context('save/restore', () => { + context.only('save/restore', () => { it('should be able create an empty timeline with default discover state', () => { addNameToTimeline('Timerange timeline'); createNewTimeline(); @@ -167,6 +167,43 @@ describe( ); }); }); + it('should save/restore discover dataview/timerange/filter/query/columns when timeline is opened via url', () => { + const dataviewName = '.kibana-event-log'; + const timelineSuffix = Date.now(); + const timelineName = `DataView timeline-${timelineSuffix}`; + const kqlQuery = '_id:*'; + const column1 = 'event.category'; + const column2 = 'ecs.version'; + switchDataViewTo(dataviewName); + addDiscoverKqlQuery(kqlQuery); + openAddDiscoverFilterPopover(); + fillAddFilterForm({ + key: 'ecs.version', + value: '1.8.0', + }); + addFieldToTable(column1); + addFieldToTable(column2); + + // create a custom timeline + addNameToTimeline(timelineName); + cy.wait(`@${TIMELINE_PATCH_REQ}`) + .its(TIMELINE_RESPONSE_SAVED_OBJECT_ID_PATH) + .then((timelineId) => { + cy.wait(`@${TIMELINE_REQ_WITH_SAVED_SEARCH}`); + // reload the page with the exact url + cy.reload(); + cy.get(DISCOVER_DATA_VIEW_SWITCHER.BTN).should('contain.text', dataviewName); + cy.get(DISCOVER_QUERY_INPUT).should('have.text', kqlQuery); + cy.get(DISCOVER_FILTER_BADGES).should('have.length', 1); + cy.get(DISCOVER_FILTER_BADGES).should('contain.text', 'ecs.version: 1.8.0'); + cy.get(GET_DISCOVER_DATA_GRID_CELL_HEADER(column1)).should('exist'); + cy.get(GET_DISCOVER_DATA_GRID_CELL_HEADER(column2)).should('exist'); + cy.get(GET_LOCAL_DATE_PICKER_START_DATE_POPOVER_BUTTON(DISCOVER_CONTAINER)).should( + 'have.text', + INITIAL_START_DATE + ); + }); + }); it('should save/restore discover ES|QL when saving timeline', () => { const timelineSuffix = Date.now(); const timelineName = `ES|QL timeline-${timelineSuffix}`; @@ -188,7 +225,7 @@ describe( }); }); /* - * skipping because it is @brokenInServerless. Tag was somehow not working + * skipping because it is @brokenInServerless and this cypress tag was somehow not working * so skipping this test both in ess and serverless. * * Raised issue: https://github.com/elastic/kibana/issues/165913 From 43034c386935e71e0f4a546958bc246f69e584b8 Mon Sep 17 00:00:00 2001 From: Jatin Kathuria <jatin.kathuria@elastic.co> Date: Tue, 26 Sep 2023 14:20:03 +0200 Subject: [PATCH 147/149] fix: search source fields --- .../discover_tab_content/utils/index.test.ts | 89 +++++++++++++++++++ .../discover_tab_content/utils/index.ts | 21 +++-- 2 files changed, 105 insertions(+), 5 deletions(-) create mode 100644 x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.test.ts diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.test.ts b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.test.ts new file mode 100644 index 0000000000000..3b25737b25278 --- /dev/null +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.test.ts @@ -0,0 +1,89 @@ +/* + * 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 { createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; +import { buildDataViewMock, shallowMockedFields } from '@kbn/discover-utils/src/__mocks__'; +import { savedSearchComparator } from '.'; + +const customQuery = { + language: 'kuery', + query: '_id: *', +}; + +const firstDataViewMock = buildDataViewMock({ + name: 'first-data-view', + fields: shallowMockedFields, +}); + +const secondDataViewMock = buildDataViewMock({ + name: 'second-data-view', + fields: shallowMockedFields, +}); + +describe('savedSearchComparator', () => { + const firstMockSavedSearch = { + id: 'first', + title: 'first title', + breakdownField: 'firstBreakdown Field', + searchSource: createSearchSourceMock({ + index: firstDataViewMock, + query: customQuery, + }), + }; + + const secondMockSavedSearch = { + id: 'second', + title: 'second title', + breakdownField: 'second Breakdown Field', + searchSource: createSearchSourceMock({ + index: secondDataViewMock, + query: customQuery, + }), + }; + it('should result true when saved search is same', () => { + const result = savedSearchComparator(firstMockSavedSearch, { ...firstMockSavedSearch }); + expect(result).toBe(true); + }); + + it('should return false index is different', () => { + const newMockedSavedSearch = { + ...firstMockSavedSearch, + searchSource: secondMockSavedSearch.searchSource, + }; + + const result = savedSearchComparator(firstMockSavedSearch, newMockedSavedSearch); + + expect(result).toBe(false); + }); + + it('should return false when query is different', () => { + const newMockedSavedSearch = { + ...firstMockSavedSearch, + searchSource: createSearchSourceMock({ + index: firstDataViewMock, + query: { + ...customQuery, + query: '*', + }, + }), + }; + + const result = savedSearchComparator(firstMockSavedSearch, newMockedSavedSearch); + + expect(result).toBe(false); + }); + + it('should result false when title is different', () => { + const newMockedSavedSearch = { + ...firstMockSavedSearch, + title: 'new-title', + }; + const result = savedSearchComparator(firstMockSavedSearch, newMockedSavedSearch); + + expect(result).toBe(false); + }); +}); diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.ts b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.ts index 8c4a9d4f00572..10b4161caf327 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.ts +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.ts @@ -12,20 +12,31 @@ export const savedSearchComparator = ( inputSavedSearch: SavedSearch, existingSavedSearch: SavedSearch ) => { + const inputSavedSearchWithFields = { + ...inputSavedSearch, + fields: inputSavedSearch.searchSource.getFields(), + }; + + const existingSavedSearchWithFields = { + ...existingSavedSearch, + fields: existingSavedSearch.searchSource.getFields(), + }; + const keysToSelect = [ 'columns', 'grid', 'hideChart', 'sort', 'timeRange', - 'searchSource.fields.filter', - 'searchSource.fields.index.id', - 'searchSource.fields.query', + 'fields.filter', + 'fields.index.id', + 'fields.query', 'title', 'description', ]; - const modifiedInputSavedSearch = pick(inputSavedSearch, keysToSelect); - const modifiedExistingSavedSearch = pick(existingSavedSearch, keysToSelect); + + const modifiedInputSavedSearch = pick(inputSavedSearchWithFields, keysToSelect); + const modifiedExistingSavedSearch = pick(existingSavedSearchWithFields, keysToSelect); const result = isEqual(modifiedInputSavedSearch, modifiedExistingSavedSearch); return result; From d0096fcff7339c4d1e51de087df1f16d84dd2225 Mon Sep 17 00:00:00 2001 From: Jatin Kathuria <jatin.kathuria@elastic.co> Date: Tue, 26 Sep 2023 15:14:22 +0200 Subject: [PATCH 148/149] fix: null saved search --- .../timeline/discover_tab_content/utils/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.ts b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.ts index 10b4161caf327..26340c12add52 100644 --- a/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.ts +++ b/x-pack/plugins/security_solution/public/timelines/components/timeline/discover_tab_content/utils/index.ts @@ -9,17 +9,17 @@ import type { SavedSearch } from '@kbn/saved-search-plugin/common'; import { isEqual, pick } from 'lodash'; export const savedSearchComparator = ( - inputSavedSearch: SavedSearch, - existingSavedSearch: SavedSearch + inputSavedSearch: SavedSearch | null, + existingSavedSearch: SavedSearch | null ) => { const inputSavedSearchWithFields = { ...inputSavedSearch, - fields: inputSavedSearch.searchSource.getFields(), + fields: inputSavedSearch?.searchSource?.getFields(), }; const existingSavedSearchWithFields = { ...existingSavedSearch, - fields: existingSavedSearch.searchSource.getFields(), + fields: existingSavedSearch?.searchSource?.getFields(), }; const keysToSelect = [ From 71169e57f8f7771bff0c4c94514df5a721d74f96 Mon Sep 17 00:00:00 2001 From: Jatin Kathuria <jatin.kathuria@elastic.co> Date: Tue, 26 Sep 2023 15:29:18 +0200 Subject: [PATCH 149/149] removed focused test pragma --- .../discover/discover_timeline_state_integration.cy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts index 7fe6422fb33a8..bb8810439c027 100644 --- a/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts +++ b/x-pack/test/security_solution_cypress/cypress/e2e/investigations/timelines/discover/discover_timeline_state_integration.cy.ts @@ -115,7 +115,7 @@ describe( gotToDiscoverTab(); updateDateRangeInLocalDatePickers(DISCOVER_CONTAINER, INITIAL_START_DATE, INITIAL_END_DATE); }); - context.only('save/restore', () => { + context('save/restore', () => { it('should be able create an empty timeline with default discover state', () => { addNameToTimeline('Timerange timeline'); createNewTimeline();